已知前序、中序构造二叉树
实现
def buildTree(self, preorder, inorder):
if inorder:
rootVal = preorder.pop(0)
rootIdx = inorder.index(rootVal)
root = TreeNode(rootVal)
root.left = self.buildTree(preorder, inorder[:rootIdx])
root.right = self.buildTree(preorder, inorder[rootIdx+1:])
return root
参考文献
- 105. Construct Binary Tree from Preorder and Inorder Traversal - LeetCode;
- 这是印象笔记中的笔记,如果是在CSDN手机APP上查看此博客,请在印象笔记手机APP中搜索该参考文献:https://app.yinxiang.com/shard/s44/nl/9329661/5afbcd1d-6289-410d-9580-c54e9c412c97;
- 20 前序中序求后序。