先序 中序还原二叉树
时间: 2023-11-20 07:55:26 浏览: 110
前序和中序还原二叉树
以下是先序中序还原二叉树的Python实现:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def buildTree(preorder, inorder):
if not preorder or not inorder:
return None
root = TreeNode(preorder[0])
mid = inorder.index(preorder[0])
root.left = buildTree(preorder[1:mid+1], inorder[:mid])
root.right = buildTree(preorder[mid+1:], inorder[mid+1:])
return root
```
其中,`preorder`为先序遍历序列,`inorder`为中序遍历序列。函数返回重建的二叉树的根节点。
阅读全文