双指针
class Solution {
public boolean isPalindrome(String s) {
int left=0, right=s.length()-1;
if(s.length()==1){
return true;
}
while(left < right){
while(!Character.isLetterOrDigit(s.charAt(left)) && left < right){
left++;
}
while(!Character.isLetterOrDigit(s.charAt(right)) && left < right){
right--;
}
if(Character.toLowerCase(s.charAt(left)) != Character.toLowerCase(s.charAt(right))){
return false;
}
left++;
right--;
}
return true;
}
}最后更新于
这有帮助吗?