파이썬 알고리즘 인터뷰 13번 팰린드롬 연결 리스트 (리트코드 234번)

Kim Yongbin·2023년 8월 27일
0

코딩테스트

목록 보기
13/162

Problem

LeetCode - The World's Leading Online Programming Learning Platform

Given the head of a singly linked list, return true **if it is a palindrome or false otherwise.

Solution

from collections import deque

class Solution:
    def isPalindrome(self, head: Optional[ListNode]) -> bool:
        if not head:
            return True

        dq = deque()
        while head is not None:
            dq.append(head.val)
            head = head.next
        
        while len(dq) > 1:
            if dq.popleft() != dq.pop():
                return False
        
        return True

python collection의 deque를 이용하여 앞에서부터 val 값을 넣고 앞 뒤로 빼면서 팰린드롬인지 확인하였다.

Reference

파이썬 알고리즘 인터뷰

profile
반박 시 여러분의 말이 맞습니다.

0개의 댓글