125. 验证回文串

题目:定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
解法:双指针
思路:让i指向开始,j指向末尾,同时开始找字母,找到后再判断是否相等即可,当i>=j时结束即可
代码:
//回文串是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串
class Solution {
public boolean isPalindrome(String s) {
if(s.length()==0){
return true;
}
int i=0,j=s.length()-1;
while(i<j){
//找头尾字母
while(i<j&&!Character.isLetterOrDigit(s.charAt(i))){
++i;
}
while(i<j&&!Character.isLetterOrDigit(s.charAt(j))){
--j;
}
if(Character.toUpperCase(s.charAt(i))!=Character.toUpperCase(s.charAt(j))){
return false;
} else{
i++;
j--;
}
}
return true;
}
}

posted @ 2020-11-10 19:41  for_ward  阅读(80)  评论(0)    收藏  举报