125. Valid Palindrome

Borris發表於2019-10-04

解法一

思路

先將所有字元轉換成小寫形式。利用雙指標對字串進行遍歷,遇到非數字或者字母則移動到下一個。直到指標相遇。

程式碼
class Solution {
    public boolean isPalindrome(String s) {
        String newStr = s.toLowerCase();
        int p1 = 0;
        int p2 = s.length() - 1;
        char head;
        char tail;
        while(p1 <= p2) {
            head = newStr.charAt(p1);
            tail = newStr.charAt(p2);
            if (!Chracter.isLetterOrDigit(head)) {
                p1++;
            }
            else if (!Chracter.isLetterOrDigit(tail)) {
                p2--;
            }
            else {
                if (head != tail) {
                    return false;
                }
                p1++;
                p2--;
            }
        }
        return true;
    }
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章