125. Valid Palindrome

一开始以为只有字母,结果是数字和字母,挂了好几次。

class Solution {
    public boolean isPalindrome(String s) {
        int hi = s.length()-1;
        int lo = 0 ;
        while(lo<=hi)
        {
            while(lo<=hi&&!isAlphanumeric(s.charAt(lo)))
                lo++;
            while(hi>=lo&&!isAlphanumeric(s.charAt(hi)))
                hi--;
            if(hi==lo-1)
                return true;
            char ch1 = Character.toLowerCase(s.charAt(lo));
            char ch2 = Character.toLowerCase(s.charAt(hi));
            if(ch1!=ch2) return false;
            hi--;
            lo++;
        }
        return true;
    }
    private boolean isAlphanumeric (char ch)
    {
        return (ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||(ch>='0'&&ch<='9');
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容