125. 验证回文串

151 阅读1分钟

描述

image.png

思路

  • 碰撞指针
  • 如果遇到符号,需要跳过
  • s = s.toLowerCase()
  • Character.isLetterOrDigit(c)

代码

class Solution {
    public boolean isPalindrome(String s) {
        s = s.toLowerCase();
        int i = 0, j = s.length() - 1;
        while (i < j) {
            while (i < j && !Character.isLetterOrDigit(s.charAt(i))) {//注意别越界
                i++;
            }
            while (i < j && !Character.isLetterOrDigit(s.charAt(j))) {
                j--;
            }
            if (s.charAt(i) != s.charAt(j)) {
                return false;
            }
            i++;
            j--;
        }
        return true;
    }
}