题目
从中序与后序遍历序列构造二叉树
示例
中序遍历 inorder = [9,3,15,20,7]
后序遍历 postorder = [9,15,7,20,3]
代码
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
private int[]inorder_copy;
private int[]postorder_copy;
int index;
public TreeNode buildTree(int[] inorder, int[] postorder) {
inorder_copy=inorder;
postorder_copy=postorder;
index=postorder.length-1;
HashMap<Integer,Integer>map=new HashMap<>();
for(int i=0;i<inorder.length;i++){map.put(inorder[i],i);}
return JiSuan(0,inorder.length-1,map);
}
public TreeNode JiSuan(int left,int right,HashMap<Integer,In