125. Valid Palindrome

2020-03-16  本文已影响0人  7ccc099f4608

https://leetcode-cn.com/problems/valid-palindrome/

image.png

(图片来源https://leetcode-cn.com/problems/valid-palindrome/

日期 是否一次通过 comment
2020-03-16 0

递归

/** 可直接去掉非字母&转换成小写:String actual = s.replaceAll("[^A-Za-z0-9]", "").toLowerCase(); */
    public boolean isPalindrome(String s) {
        if(s == null || s.length() <= 0) {
            return true;
        }

        int l = 0, r = s.length()-1;
        while(l <= r) {  // 考虑l和r指向同一个元素
            while(l<r && ! Character.isLetterOrDigit(s.charAt(l))) {
                l++;
            }
            while(l<r && ! Character.isLetterOrDigit(s.charAt(r))) {
                r--;
            }

            if(Character.toLowerCase(s.charAt(l)) != Character.toLowerCase(s.charAt(r))) {
                return false;
            }

            l++;
            r--;
        }

        return true;
    }
上一篇 下一篇

猜你喜欢

热点阅读