校验回文字符串 定义头部索引 和尾部索引 集中向中部进行搜索 注意空字符串 代码设计如下:
public static boolean isPalindrome(String s) {
boolean flag=true;
if(s.length()==0){
return flag;
}
char[] cs=s.toCharArray();
int startIndex = 0;
int endIndex = s.length() - 1;
char sc,ec;
while(startIndex <= endIndex ){
sc=s.charAt(startIndex);
ec=s.charAt(endIndex);
if(!Character.isLetterOrDigit(sc)){
startIndex++;
}else if((!Character.isLetterOrDigit(ec))){
endIndex--;
}else{//如果两端都是数字或字符串的时候就行对比
if(Character.toLowerCase(sc)!=Character.toLowerCase(ec)){//如果不是对称位置不相等 z则不为回文字符串
flag=false;
break;
}
startIndex++;
endIndex--;
}
}
return flag;
}