415. 有效回文串

题目

给定一个字符串,判断其是否为一个回文串。只考虑字母和数字,忽略大小写。
样例
"A man, a plan, a canal: Panama" 是一个回文。

"race a car" 不是一个回文。

分析

先除去字母和数字以外的字符,
然后将大小写统一,
此时,只需要首尾互相匹配,若均一致,则是回文

代码


public class Solution {
    /**
     * @param s: A string
     * @return: Whether the string is a valid palindrome
     */
    public boolean isPalindrome(String s) {
        // write your code here
        if (s == null || s.length() <= 1) return true;
        char[] data = s.replaceAll("[^a-zA-Z0-9]","").toLowerCase().toCharArray();
        
        for(int i=0, j=data.length-1; i < j; i++, j--) {
            if (data[i] != data[j]) return false;
        }
        return true;
    }
}
Show Comments

Get the latest posts delivered right to your inbox.