Lumiere, and s5unnyjjj

[홀로 하는 코딩 공부] 234. Palindrome Linked List(Python) 본문

Algorithm/Python

[홀로 하는 코딩 공부] 234. Palindrome Linked List(Python)

s5unnyjjj 2024. 5. 18. 14:17
반응형
 

LeetCode

사용 언어: Python

문제 링크: https://leetcode.com/problems/palindrome-linked-list/

 

 

*** 본 문제를 푸는 과정을 공유하려 한다.


▶ 처음에 본 문제를 보고 head와 cur_node를 나눠서 cur_node를 이용하여 현재 위치를 알 수 있게끔 하였다. 리스트에 연결 리스트를 붙여 나가면서 cur_node 위치를 계속 업데이트 해준다. 쉬운 이해를 위하여 아래와 같이 그림을 그려보았다.

▶ 위의 풀이방향으로 구현한 코드는 아래와 같다.

class Solution:
    def isPalindrome(self, head: Optional[ListNode]) -> bool:
        list_ary = []
        cur_node = head
        
        while cur_node is not None:
            list_ary.append(cur_node.val)
            cur_node = cur_node.next

        if list_ary is None:
            return True
            
        n = len(list_ary)
        for i in range(int(n/2)):
            if list_ary[i] == list_ary[n-i-1]:
                continue
            else: 
                return False
        return True

▶ 성공이다!! 


>> 위 내용은 필자가 코딩테스트 문제를 푼 코드입니다.

>> 부족한 점이 많을 수 있기에 잘못된 내용이나 궁금한 사항이 있으면 댓글 달아주시기 바랍니다.

>> 긴 글 읽어주셔서 감사합니다. 

 
반응형
Comments