@@ -618,8 +618,42 @@ class Solution {
618
618
```
619
619
620
620
Python:
621
-
622
-
621
+ 105.从前序与中序遍历序列构造二叉树
622
+ ``` python
623
+ # Definition for a binary tree node.
624
+ # class TreeNode:
625
+ # def __init__(self, val=0, left=None, right=None):
626
+ # self.val = val
627
+ # self.left = left
628
+ # self.right = right
629
+ // 递归法
630
+ class Solution :
631
+ def buildTree (self , preorder : List[int ], inorder : List[int ]) -> TreeNode:
632
+ if not preorder: return None // 特殊情况
633
+ root = TreeNode(preorder[0 ]) // 新建父节点
634
+ p= inorder.index(preorder[0 ]) // 找到父节点在中序遍历的位置(因为没有重复的元素,才可以这样找)
635
+ root.left = self .buildTree(preorder[1 :p+ 1 ],inorder[:p]) // 注意左节点时分割中序数组和前续数组的开闭环
636
+ root.right = self .buildTree(preorder[p+ 1 :],inorder[p+ 1 :]) // 分割中序数组和前续数组
637
+ return root
638
+ ```
639
+ 106.从中序与后序遍历序列构造二叉树
640
+ ``` python
641
+ # Definition for a binary tree node.
642
+ # class TreeNode:
643
+ # def __init__(self, val=0, left=None, right=None):
644
+ # self.val = val
645
+ # self.left = left
646
+ # self.right = right
647
+ // 递归法
648
+ class Solution :
649
+ def buildTree (self , inorder : List[int ], postorder : List[int ]) -> TreeNode:
650
+ if not postorder: return None // 特殊情况
651
+ root = TreeNode(postorder[- 1 ]) // 新建父节点
652
+ p= inorder.index(postorder[- 1 ]) // 找到父节点在中序遍历的位置* 因为没有重复的元素,才可以这样找
653
+ root.left = self .buildTree(inorder[:p],postorder[:p]) // 分割中序数组和后续数组
654
+ root.right = self .buildTree(inorder[p+ 1 :],postorder[p:- 1 ]) // 注意右节点时分割中序数组和后续数组的开闭环
655
+ return root
656
+ ```
623
657
Go:
624
658
625
659
@@ -643,4 +677,4 @@ var buildTree = function(inorder, postorder) {
643
677
* 作者微信:[ 程序员Carl] ( https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw )
644
678
* B站视频:[ 代码随想录] ( https://space.bilibili.com/525438321 )
645
679
* 知识星球:[ 代码随想录] ( https://mp.weixin.qq.com/s/QVF6upVMSbgvZy8lHZS3CQ )
646
- <div align =" center " ><img src =../pics/公众号.png width =450 alt= > </img ></div >
680
+ <div align =" center " ><img src =../pics/公众号.png width =450 alt= > </img ></div >
0 commit comments