LC 1430 [M] Check If a String Is a Valid Sequence from Root to Leaves Path in a Binary Tree - ALawliet/algorithms GitHub Wiki
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def isValidSequence(self, root: TreeNode, arr: List[int]) -> bool:
if not root:
return len(arr) == 0
return self.helper(root, arr, 0)
def helper(self, node, sequence, i):
if node is None:
return False
if i >= len(sequence) or node.val != sequence[i]: # oob or cond breaker
return False
if not node.left and not node.right and i == len(sequence) - 1: # cond met
return True
return self.helper(node.left, sequence, i + 1) or self.helper(node.right, sequence, i + 1)