125.Valid Palindrome验证回文串

给定一个字符串,只看其中的数字和字母,忽略大小写,判断字符串是否是回文串。



思想:两边各一个指针,找是a-z或数字的,进行比较

class Solution {
    public boolean isPalindrome(String s) {
        if(s=="")
            return true;
        
        //将小写转成大写
        s=s.toLowerCase();
       int i=0,j=s.length()-1;
        while(i<j){
            //如果说不是a-z和数字,就i++,直到找到是的
           while(i<j&&!Character.isDigit(s.charAt(i))&&!(s.charAt(i)>='a'&&s.charAt(i)<='z')) 
               i++;
            //如果说不是a-z和数字,就j--,直到找到是的
            while(i<j&&!Character.isDigit(s.charAt(j))&&!(s.charAt(j)>='a'&&s.charAt(j)<='z'))
                j--;
            
            if(s.charAt(i)!=s.charAt(j))
                return false;
            i++;
            j--;
        }
        
        return true;
            
       }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容