欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LeetCode 125.验证回文串

程序员文章站 2022-07-13 08:42:54
...

LeetCode 125.验证回文串

思路:
建立头尾的双指针,如果是除了字母和数字的字符就跳过
然后进行比较

代码:

class Solution {
    public boolean isPalindrome(String s) {
        int i = 0;
        int 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 (Character.toLowerCase(s.charAt(i)) != Character.toLowerCase(s.charAt(j))) {
                //两个不一样
                return false;
            }
            //一样的话继续进行下一个
            i++;
            j--;
        }
        return true;//跳出循环还一样,说明i和j相等再一个位置,夹逼完成,是回文
    }
}