[leetcode] Two Pointers (Easy) - 125. Valid Palindrome

brandon·2025년 7월 10일

leetcode-two-pointers

목록 보기
1/2


Intuition

포인터 앞에 하나, 뒤에 하나를 계속 따라가며 만약 그 위치의 문자가 alphanumeric 하지 않다면 다음 문자를 비교하며 진행하면 될 것 같다.

ASCII table을 알아야했다...

답안

class Solution {
    public boolean isPalindrome(String s) {
        int i = 0, j = s.length() - 1;
        String newString = s.toLowerCase();

        while (i <= j) {
            if ((int)newString.charAt(i) < 48 || ((int)newString.charAt(i) > 57 &&
                (int)newString.charAt(i) < 97) || (int)newString.charAt(i) > 122) {
                    i++; 
                    continue; 
                }
            if ((int)newString.charAt(j) < 48 || ((int)newString.charAt(j) > 57 &&
                (int)newString.charAt(j) < 97) || (int)newString.charAt(j) > 122) {
                    j--; 
                    continue; 
                }
            if (newString.charAt(i) == newString.charAt(j)) {
                i++; 
                j--; 
            } else {
                return false; 
            }
        }

        return true;
    }
}
profile
everything happens for a reason

0개의 댓글