문제

→ 연결 리스트가 팰린드롬 구조인지 판별하라

예시

→ [1, 2] // False

→ [1, 2, 2 ,1] // True

접근 방법

Untitled

전체 코드

def isPalindrome(head):
    arr = []

    # 연결리스트가 없을 경우
    if not head:
        return True

    node = head
    # 연결리스트가 끝날때까지
    while node:
        # 리스트에 연결리스트의 값 넣기
        arr.append(node.val)
        node = node.next

    # 리스트 길이가 2개이상일 때 실행.
    while len(arr) > 1:
        # 리스트에서 양쪽 하나씩 제거
        # 양쪽 하나씩 다를경우 팰린드롬이 아니므로 False
        if arr.pop(0) != arr.pop():
            return False

    return True