原题出处:https://leetcode.cn/leetbook/read/top-interview-questions-easy/xn5z8r/
解法一:
public boolean isPalindrome(String s) {
if (s == null || s.trim().isEmpty()) {
return true;
}
s = s.toLowerCase();
for (int i =0 , j = s.length() -1 ; i < j ; i++,j--) {
while (i < j && !Character.isLetterOrDigit(s.charAt(i))) {
i++;
}
while (i < j && !Character.isLetterOrDigit(s.charAt(j))) {
j--;
}
if (s.charAt(i) != s.charAt(j)) {
return false;
}
}
return true;
}
思路:将字符串全部转换小写字母,然后从前和从后获取每一字符比较是否相等,如果不相等,则表示这是不是一个回文串,返回false,否则是回文串,返回true,再比较的过程中需要校验当前的字符是否为字母或者数字,如果不是,则移动索引下标