Skip to main content

Misc

114. Flatten Binary Tree to Linked List

Interactive Visualization

Analysis

class Solution:
def flatten(self, root: Optional[TreeNode]) -> None:
def rec(node):
nonlocal curr
if node:
curr.right = node
curr = curr.right
left, right = curr.left, curr.right
curr.left = curr.right = None
rec(left)
rec(right)

sentinel = curr = TreeNode(None)
rec(root)
return sentinel.right

234. Palindrome Linked List

Analysis

class Solution:
def isPalindrome(self, head: Optional[ListNode]) -> bool:
arr = []
while head:
arr.append(head.val)
head = head.next
return arr == arr[::-1]