验证回文串——leetcode125

 验证回文串

题目: 验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

示例 :

输入: "A man, a plan, a canal: Panama"
输出: true
解释:"amanaplanacanalpanama" 是回文串

题解:双指针

class Solution {
    public boolean isLetter(char c) {
        if (Character.isLetter(c) || Character.isDigit(c)) {
            return true;
        }
        return false;
    }

    public boolean isPalindrome(String s) {
        int l = s.length();
        char cstr[] = s.toLowerCase().toCharArray();

        for (int i = 0, j = cstr.length - 1; i < j; i++, j--) {
            while ((i < j) && !isLetter(cstr[i])) {
                i++;
            }
            while (i<j && !isLetter(cstr[j])) {
                j--;
            }
            if (i >= j) break;
            if (cstr[i] != cstr[j]) return false;
        }
        return true;
    }
}

 

上一篇:JavaBean以及MVC模式


下一篇:String类实现