Faaez Razeen

Subtree of Another Tree

  • 1 min read
  • LC-Easy
  • Binary Tree

3 years ago

Solution

TimeSpaceExplanation
O(s * t)O(log(s) * log(t))
def are_equal(self, p, q): if not p and not q: return True if (not p and q) or (not q and p): return False return p.val == q.val and self.are_equal(p.left, q.left) and self.are_equal(p.right, q.right) def isSubtree(self, root: Optional[TreeNode], subRoot: Optional[TreeNode]) -> bool: if not subRoot: return True if not root: return False if self.are_equal(root, subRoot): return True if self.isSubtree(root.left, subRoot) or self.isSubtree(root.right, subRoot): return True return False