modified ACM下构建二叉树 Python

This commit is contained in:
Du Zongwei
2023-03-06 09:48:49 +08:00
parent 5ec197d1b4
commit 98a8a8b8b1

View File

@ -305,11 +305,12 @@ def construct_binary_tree(nums: []) -> TreeNode:
Tree.append(node) Tree.append(node)
if i == 0: if i == 0:
root = node root = node
# 直接判断2*i+2<len(Tree)会漏掉2*i+1=len(Tree)-1的情况
for i in range(len(Tree)): for i in range(len(Tree)):
node = Tree[i] if Tree[i] and 2 * i + 1 < len(Tree):
if node and (2 * i + 2) < len(Tree): Tree[i].left = Tree[2 * i + 1]
node.left = Tree[i * 2 + 1] if 2 * i + 2 < len(Tree):
node.right = Tree[i * 2 + 2] Tree[i].right = Tree[2 * i + 2]
return root return root