[String]125. Valid Palindrome 回文字符串

题目:125. Valid Palindrome

不计非字母数字的元素和大小写,判断是否是回文字符串。

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

For example,
"A man, a plan, a canal: Panama" is a palindrome.
"race a car" is not a palindrome.

Note:
Have you consider that the string might be empty? This is a good question to ask during an interview. 定义:空string也是回文。

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

注意:

  • 1.非字母数字的元素处理
    1. 空string
  • 字符串里的数字要加' ' 这个小错误导致一直报错。
  • s.replaceAll("\\W", "") 这个方法可以直接把不合法字符删除。

\\w*是正则表达式.
\\w表示的是数字或字母。 * 的意思表示零个或多个。
因此\\w* 表示的是任意个数字或字母组合。

Runtime: 9 ms

class Solution {
    public boolean isPalindrome(String s) {
        int len = s.length();
        if(len == 0) return true;
        s = s.toLowerCase();
        for(int i =0, j = len-1; i< j;i++,j--){
            while(!isValidChar(s.charAt(i)) && i= '0' && x <= '9' ) || (x >= 'a' && x <= 'z')) ;
    }
}

你可能感兴趣的:([String]125. Valid Palindrome 回文字符串)