프로그래밍/알고리즘+코딩테스트

LeetCode/234.Palindrome Linked List

sleepyotter. 2022. 2. 15. 13:28

string에 저장한다음 reverse(s.begin(), s.end()); 로 뒤집어서 앞에서부터 비교해도 된다. 근데 굳이 뒤집을 필요가 있나 싶다.

class Solution {
public:
    bool isPalindrome(ListNode* head) {
        string s = "";
        bool ret = true;
        ListNode* cur = head;
        while(cur)
        {
            s += to_string(cur->val);
            cur = cur->next;
        }
        
        int left = 0;
        int right = s.size()-1;
        
        while(left < right)
        {
            if(s[left]!=s[right])
                return false;
            left++;
            right--;
        }
        
        return ret;
    }
};