首页 > 其他 > 详细

Construct Binary Tree from Inorder and Postorder Traversal

时间:2015-04-18 06:23:51      阅读:284      评论:0      收藏:0      [点我收藏+]

跟另一道题一样,不多说了

public class Solution {
    public TreeNode buildTree(int[] inorder, int[] postorder) {
        // post就是pre的近似倒过来
        if(inorder==null|| postorder==null||inorder.length==0||postorder.length==0) return null;
        return buildTree(postorder, 0, postorder.length-1, inorder, 0, inorder.length-1);
    }
    public TreeNode buildTree(int[] p, int p1, int p2, int[] in, int in1, int in2 ){
        if(p2<p1||in2<in1) return null;
        int len=0;
        while(in[in1+len]!=p[p2]){
            len++;
        }
        TreeNode root = new TreeNode(p[p2]);
        root.left = buildTree(p,p1,p1+len-1,in,in1, in1+len-1);
        root.right = buildTree(p,p1+len,p2-1,in, in1+len+1,in2);
        return root;
    }
}

 

Construct Binary Tree from Inorder and Postorder Traversal

原文:http://www.cnblogs.com/jiajiaxingxing/p/4436535.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!