문제

풀이

class Solution {
public:
    bool isPalindrome(string s) {
        int len = s.size();
        int l = 0;
        int r = len - 1;

        while (l <= r)
        {
            while (l <= r &&!isalnum(s[l]))
            {
                l++;
            }

            while (l <= r && !isalnum(s[r]))
            {
                r--;
            }

            if (l > r)
            {
                break;
            }

            if (tolower(s[l]) != tolower(s[r]))
            {
                return false;
            }

            l++;
            r--;
        }

        return true;
    }
};

alphanumeric한 글자인지 확인해야하는 거추장스러운 조건이 있지만, 난이도 자체가 여럽지는 않았다. 투 포인터로 해결할 수 있다.

이 포스트는 달레 스터디(3주차)에서 진행한 Blind 75 문제집 풀이의 일부입니다.

댓글남기기