hot100 -- 8.二叉树系列
1.二叉树的中序遍历
问题:给定一个二叉树的根节点 root
,返回 它的 中序 遍历 。
# 二叉树的中序遍历
import collectionsclass TreeNode:def __init__(self, val=0, left=None, right=None):self.val = valself.left = leftself.right = right# 创建二叉树
def CreateTree(values, index):if index >= len(values):return Nonereturn TreeNode(val=values[index], left=CreateTree(values, 2*index+1), right=CreateTree(values, 2*index+2))
# 值 左孩子 右孩子# 遍历二叉树(中序)
def Print(root):if not root:returnPrint(root.left)print(root.val)Print(root.right)# # 遍历二叉树(层序)
# def Print(root):
# queue = collections.deque()
# queue.append(root)
# while queue:
# queue_len = len(queue)
# for i in range(queue_len):
# node = queue.popleft()
# if node:
# queue.append(node.left)
# queue.append(node.right)
# print(node.val)
# returnroot = CreateTree([1, 2, 3, 4, None, 6], 0)
Print(root)
# print(root.right.left)