見出し画像

ほぼ日刊競プロ leetcode 234. Palindrome Linked List

234. Palindrome Linked List

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

palindromeは回文を意味する.

考えたこと

回文判定をしていけば良いので,回帰で連結リストをたぐっていき,中の値をリストに入れていく.最後にそのリストを逆さまにしても同じ結果が出るかを確かめれば良いと考えた.

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
   def isPalindrome(self, head: Optional[ListNode]) -> bool:
       anslist = []
       def stack(head):
           if head:
               anslist.append(head.val)
               stack(head.next)
           else:
               return 
       stack(head)
       return anslist==anslist[::-1]
           

この記事が気に入ったらサポートをしてみませんか?