class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
#-----------树 基础--------------
def traverse(root):
if not root:
return
q = list()
q.append(root)
while len(q) > 0:
node = q.pop(0)
if not node:
continue
print(node.val)
q.append(node.left)
q.append(node.right)
def recur_preorder(root):
if not root:
return
print(root.val)
recur_preorder(root.left)
recur_preorder(root.right)
def recur_inorder(root):
if not root:
return
recur_inorder(root.left)
print(root.val)
recur_inorder(root.right)
def recur_postorder(root):
if not root:
return
recur_postorder(root.left)
recur_postorder(root.right)
print(root.val)
def is_same_tree(root1, root2):
# 都到最后叶子节点,相同
if not root1 and not root2:
return True
if (not root1) or (not root2):
return False
if root1.val != root2.val:
return False
return is_same_tree(root1.left, root2.left) and is_same_tree(root1.right, root2.right)