Solution
public class Solution {
public boolean isPalindrome(String s) {
if (s == null || s.length() == 0) {
return true;
}
int begin = 0;
int end = s.length() - 1;
while (begin < end) {
while (begin < end && !isValidCharacter(s.charAt(begin))) {
begin ++;
}
while (begin < end && !isValidCharacter(s.charAt(end))) {
end --;
}
if (Character.toLowerCase(s.charAt(begin++)) != Character.toLowerCase(s.charAt(end--))) {
return false;
}
}
return true;
}
public boolean isValidCharacter(char c) {
return Character.isLetter(c) || Character.isDigit(c);
}
}
Problem#1
* 对于输入的情况考虑不全面
* 对字符串大小写变换等函数不太熟悉
* 程序可以写得更清晰