скажем, я использую следующие методы для поиска палиндрома. Я знаю, что первый - O (n), потому что он проходит через всю строку. Выполняет ли .reverse() в StringBuffer также O(n)? Я не беспокоюсь о том, чтобы найти лучший способ решить проблему. Я пытаюсь понять, физически ли обратный метод переворачивает строку или он намного эффективнее этого? Спасибо
public static boolean isAPalindrome(String s1){
String tmp = "";
int length = s1.length();
for(int i = 0; i < s1.length(); i++){
tmp += s1.charAt(s1.length()-i-1);
}
if (s1.equals(tmp)) return true;
return false;
}
public static boolean isAPalindrome(String s1){
StringBuffer a = new StringBuffer(s1);
return s1.equals(a.reverse().toString());
}