package leetcode;
public class demo_125 {
public boolean isPalindrome(String s) {
if(s=="") {return true;}
int left=0;
int right=s.length()-1;
while(left<right) {
char l=s.charAt(left);
char r=s.charAt(right);
//判断字符是否是数字或者是大小写字符
if(l<48||l>122||(l>90&&l<97)||(l>57&&l<65)) {
left=left+1;
continue;
}
if(r<48||r>122||(r>90&&r<97)||(r>57&&r<65)) {
right=right-1;
continue;
}
//如果是大写字母全部变成小写字母
if(l>64&&l<91) {
l=(char)(l+32);
}
if(r>64&&r<91) {
r=(char)(r+32);
}
if(l!=r) {
return false;
}
left=left+1;
right=right-1;
}
return true;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
demo_125 d125=new demo_125();
String string="A man, a plan, a canal: Panama";
System.out.println(d125.isPalindrome(string));
}
}