给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。
双指针
public class Solution {
/**
* @param s A string
* @return Whether the string is a valid palindrome
*/
public boolean isPalindrome(String s) {
// Write your code here
s = s.toLowerCase();
StringBuffer sb = new StringBuffer();
for(int i=0; i<s.length(); i++){
if((s.charAt(i)<='z' && s.charAt(i)>='a') ||(s.charAt(i)<='9' && s.charAt(i)>='0'))
sb.append(s.charAt(i));
}
s = sb.toString();
if(s.length() == 0) return true;
int m = 0;
int n = s.length()-1;
while(m <= n){
if(s.charAt(m) == s.charAt(n)){
m ++;
n --;
}
else return false;
}
return true;
}
}