def Create_Tree(Root, vals):
if len(vals) == 0:
return Root
if vals[0] is not None:
Root = TreeNode(vals[0])
vals.pop(0)
Root.left = Create_Tree(Root.left, vals)
Root.right = Create_Tree(Root.right, vals)
return Root
else:
Root = None
vals.pop(0)
return Root
用法:
lst = [1, None, 2, 3]
tree = Create_Tree(None, lst) # 根节点初始时为None,因为害没有创立
- 该方法为按照前序遍历方法构建二叉树。
- 需要将题目中的lst转成我们可用的list。
- 即对于每个非None的节点,都要将其下的左、右节点都列在list中,左右节点若为None则就列上None,不可省略。
- 对于叶子节点,其左右节点为None, None,列在list中