125th 验证回文字符串
-
双指针法
利用双指针逐一对比,遇到不合法字符时跳过。
class Solution { public boolean isPalindrome(String s) { s = s.toLowerCase(); int i = 0, j = s.length() - 1; while (i < j) { while (!Character.isLetter(s.charAt(i)) && !Character.isDigit(s.charAt(i)) && i < j) i++; while (!Character.isLetter(s.charAt(j)) && !Character.isDigit(s.charAt(j)) && i < j) j--; if (s.charAt(i) != s.charAt(j) && i < j) return false; i++; j--; } return true; } }