125. Valid Palindrome

125. Valid Palindrome


class Solution {
    public boolean isPalindrome(String s) {
      if(s.isEmpty()){
        return true;
      }
      
      int i = 0;
      int j = s.length() - 1;
      
      
       while( i < j){
        char start = s.charAt(i);
        char end = s.charAt(j);
        
        
        if(!Character.isLetterOrDigit(start)){
          i++;
        
        }else if (!Character.isLetterOrDigit(end)){
          j--;
         
        }else{
          if (Character.toLowerCase(start) != Character.toLowerCase(end)){
            return false;
          }
          i++;
          j--;
        }
      }
      return true;
    }
}

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.

Note: For the purpose of this problem, we define empty string as valid palindrome.

Example 1:

Input: "A man, a plan, a canal: Panama"
Output: true

Example 2:

Input: "race a car"
Output: false

 

 

 

 (字符串是不是 Palidrome,答完了问输入是 unicode 的 bytestring 怎么办,我说那就先把 bytestring 搞成 string,随便写了段转换的代码)

posted on 2018-08-09 17:31  猪猪&#128055;  阅读(94)  评论(0)    收藏  举报

导航