문제 출처 : leetcode.com/problems/palindrome-linked-list/
문제 해석 : 링크드 리스트를 이용한 팰린드롬 문제이다.
문제 풀이 : 링크드 리스트 개념을 이해하고 있으면 val를 모두 리스트에 저장하여 팰린드롬을 검사하면 쉽게 풀 수 있는 문제이다.
풀이 코드
class ListNode:
def __init__(self, val = 0, next = None):
self.val = val
self.next = next
class Solution:
def isPalindrome(self, head: ListNode) -> bool:
Arr = []
if head is None:
return True
while head.next != None:
Arr.append(head.val)
head = head.next
Arr.append(head.val)
if Arr == Arr[::-1]:
return True
else:
return False
if __name__=="__main__":
solution = Solution()
head = ListNode(1,ListNode(2, None))
print(solution.isPalindrome(head))
author : donghak park
contact : donghark03@naver.com
## 문제의 저작권은 LeetCode 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.
'📊알고리즘, 문제풀이 > 📈문제풀이 (PS)' 카테고리의 다른 글
[알고리즘][Python] LeetCode 2 Add Two Numbers 문제 풀이 (0) | 2021.02.22 |
---|---|
[알고리즘][Python] LeetCode 206 Reverse Linked List 문제 풀이 (0) | 2021.02.22 |
[알고리즘][Python] 백준 15683 감시 문제 풀이 (2) | 2021.02.19 |
[알고리즘][Python] LeetCode 121 Best Time to Buy and Sell Stock 문제 풀이 (0) | 2021.02.19 |
[알고리즘][Python] LeetCode 238 Product of Array Except Self 문제 풀이 (0) | 2021.02.19 |