Tree Traversal Target: 15s
At each node in root, check if it's the same tree as subRoot. O(m*n) brute force.
def isSubtree(root, subRoot):
if not root: return False
if isSameTree(root, subRoot): return True
return (isSubtree(root.left, subRoot) or
isSubtree(root.right, subRoot))
def isSameTree(p, q):
if not p and not q: return True
if not p or not q: return False
return (p.val == q.val and
isSameTree(p.left, q.left) and
isSameTree(p.right, q.right))
Type it from memory. Go.