s5unnyjjj's LOG
[홀로 하는 코딩 공부] 234. Palindrome Linked List(Python) 본문
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
▶ 성공이다!!
>> 위 내용은 필자가 코딩테스트 문제를 푼 코드입니다.
>> 부족한 점이 많을 수 있기에 잘못된 내용이나 궁금한 사항이 있으면 댓글 달아주시기 바랍니다.
>> 긴 글 읽어주셔서 감사합니다.
반응형
'Algorithm > Python' 카테고리의 다른 글
[홀로 하는 코딩 공부] 206. Reverse Linked List(Python) (0) | 2024.05.28 |
---|---|
[홀로 하는 코딩 공부] 012. Merge Two Sorted Lists(Python) (0) | 2024.05.27 |
[홀로 하는 코딩 공부] 숫자 변환하기(Python) (0) | 2024.05.17 |
[홀로 하는 코딩 공부] 달리기 경주(Python) (0) | 2024.05.13 |
[홀로 하는 코딩 공부] 롤케이크 자르기(Python) (0) | 2024.05.07 |
Comments