Вот более простой способ.
public boolean checkPalindrome(String str) {
int len = inputString.length()/2;
for(int i = 0 ; i < len ; i++) {
if(str.charAt(i) != str.charAt(str.length()-1-i)) {
return false;
}
}
return true;
}
Когда длина строки равна N
.Сложность времени составляет O(N/2)
.Примечание: вам не нужно проверять средний символ, если длина строки нечетна, потому что она сама по себе.
Например,
В ssstsss
, вам не нужнопроверьте t
.
А так как len
является int.Это не может выразить decimal part
.Это автоматически падает.len
из ssstsss
равно 3
, поскольку оно равно 7/2 = 3.5
и падает 0.5
.
Даже если его длина равна, он будет работать.Например, abccba
.Длина составляет 6
.И len
- это 3
.Если длина чётного числа, вы должны проверить даже два символа в середине, которые равны cc
.