题目描述:
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
输入:
A man, a plan, a canal: Panama
race a car
输出:
true
false
题意:
题目描述
题解:
按题意模拟
代码:
class Solution {
public boolean isPalindrome(String s) {
int l = 0;
int r = s.length() - 1;
s = s.toLowerCase();
char [] ch = s.toCharArray();
while(l <= r){
if(IsValid(ch[l]) && IsValid(ch[r])){
if(ch[l] != ch[r]) return false;
else{
l ++;
r --;
}
}
else if(IsValid(ch[l])){
r --;
}
else if(IsValid(ch[r])){
l ++;
}
else{
l ++;
r --;
}
}
return true;
}
public boolean IsValid(char op){
if(op >= 'a' && op <= 'z') return true;
else if(op >= '0' && op <= '9') return true;
return false;
}
}