验证回文串

    技术2022-07-11  114

    验证回文串


    题目

    验证回文串(力扣:125)

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    说明:本题中,我们将空字符串定义为有效的回文串。

    分析

    屏蔽大小写差异。使用双指针,分别从收尾开始进行对比判断。如果指针位的字符是无效字符,则移动指针。当两个指针位置的字符都是有效字符时,进行对比,如果不相等则返回false。如果能遍历完成,返回true。

    代码实现

    /** * 125. 验证回文串 * @param s * @return */ public boolean isPalindrome(String s) { if (s == null){ return false; } String lowS = s.toLowerCase(); int start = 0, end = lowS.length() -1; while (end >start){ while (end >start && !Character.isLetterOrDigit(lowS.charAt(start))){ start++; } while (end >start && !Character.isLetterOrDigit(lowS.charAt(end))){ end--; } if (lowS.charAt(start) != lowS.charAt(end)){ return false; } start++; end--; } return true; }
    Processed: 0.019, SQL: 9