leetcode_gym/_code/trees/isSubTree.py
2026-08-25 19:14:07 -06:00

40 lines
622 B
Python

class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def isSubTree(s, t):
if not s:
return False
if isSameTree(s, t):
return True
return isSubTree(s.left, t) or isSubTree(s.right, t)
def isSameTree(p, q):
if p and q:
return p.val==q.val and isSameTree(p.left, q.left) and isSameTree(p.right, q.right)
return p is q
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root2 = TreeNode(1)
root2.left = TreeNode(2)
root2.right = TreeNode(3)
p = root
q = root2
print isSubTree(p, q)