一维数组建立完全二叉树
python实现
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
def CreateTree(completeTreeList, start):
"""
用数组创建完全二叉树
:param completeTreeList: list
:return: TreeNode
"""
if start >= len(completeTreeList):
return
else:
node = TreeNode(completeTreeList[start])
node.left = CreateTree(completeTreeList, start*2)
node.right = CreateTree(completeTreeList, start*2+1)
return node
def Inorder(root):
#中序遍历
if root is None:
return
Inorder(root.left)
print(root.val)
Inorder(root.right)
if __name__ == '__main__':
l = [0, 1,2,4,3,5]
node = CreateTree(l, 1)
Inorder(node)
![中序遍历结果](https://i-blog.csdnimg.cn/blog_migrate/5f56aaa236983bd18ecde96175f93854.png)