首页 > 其他 > 详细

105. Construct Binary Tree from Preorder and Inorder Traversal

时间:2017-09-29 12:24:22      阅读:225      评论:0      收藏:0      [点我收藏+]
public class Solution {
    public TreeNode buildTree(int[] preorder, int[] inorder) {
        return buildTree(preorder, 0, preorder.length-1, inorder, 0, inorder.length);
	}
    private TreeNode buildTree(int[] preorder, int l1, int r1, int[] inorder, int l2, int r2){
        if(l1>r1||l2>r2)
            return null;
        int idx=l2;
        while(inorder[idx]!=preorder[l1])
            idx++;
        TreeNode node=new TreeNode(preorder[l1]);
        node.left=buildTree(preorder, l1+1, l1+(idx-l2), inorder, l2, idx-1);
        node.right=buildTree(preorder, l1+(idx-l2)+1, r1, inorder, idx+1, r2);
        return node;
    }
}

  

105. Construct Binary Tree from Preorder and Inorder Traversal

原文:http://www.cnblogs.com/asuran/p/7610496.html

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