标题:验证回文字符串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama" 输出: true
示例 2:
输入: "race a car" 输出: false
总体还是比较简单的,首先去掉非字母和数字的其他字符,然后将所有字符转换为小写或者大写,然后进行一个长度为n/2的循环,每一次都比较头和尾的字符是否相等
public boolean isPalindrome(String s) {
s=s.toLowerCase();
char[] ss=s.toCharArray();
for(int i=0;i<ss.length;i++){
if(!((ss[i]>=97&&ss[i]<=122)||(ss[i]>=48&&ss[i]<=57))){
ss[i]=')';
}
}
s=String.valueOf(ss);
s=s.replaceAll("\\)","");
ss=s.toCharArray();
for(int i=0;i<ss.length/2;i++){
if(ss[i]!=ss[ss.length-1-i]){
return false;
}
}
return true;
}