1. 程式人生 > >LeetCode-125.驗證迴文串(相關話題:字串)

LeetCode-125.驗證迴文串(相關話題:字串)

給定一個字串,驗證它是否是迴文串,只考慮字母和數字字元,可以忽略字母的大小寫。

說明:本題中,我們將空字串定義為有效的迴文串。

示例 1:

輸入: "A man, a plan, a canal: Panama"
輸出: true

示例 2:

輸入: "race a car"
輸出: false

Java程式碼:

class Solution {
    public boolean isPalindrome(String s) {
        if(null == s || 0 == s.trim().length())
            return true;
        s = s.toLowerCase().trim();
        int i = 0, j = s.length()-1;
        while(i <= j){
            if(s.charAt(i) == ' ' || !Character.isLetterOrDigit(s.charAt(i))){
                i++;
                continue;
            }
            if(s.charAt(j) == ' ' || !Character.isLetterOrDigit(s.charAt(j))){
                j--;
                continue;
            }
            if(s.charAt(i) != s.charAt(j))
                return false;
            i++;
            j--;
        }

        return true;
    }
}