首页 > 代码库 > [leetcode]Construct Binary Tree from Preorder and Inorder Traversal

[leetcode]Construct Binary Tree from Preorder and Inorder Traversal

问题描述:

Given preorder and inorder traversal of a tree, construct the binary tree.

Note:
You may assume that duplicates do not exist in the tree.


基本思路:

找到规律,递归的解决左子树和右子树。


代码:

/**
 * Definition for binary tree
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {   //java
    public TreeNode buildSubTree(int [] preorder, int pbegin, int pend, int [] inorder, int ibegin, int iend){
		TreeNode root = null;
		if(pbegin > pend || ibegin > iend)
			return root;
		if(pbegin == pend){
			TreeNode tmp = new TreeNode(preorder[pbegin]);
			root = tmp;
			return root;
		}
		
		int value = http://www.mamicode.com/preorder[pbegin];>

[leetcode]Construct Binary Tree from Preorder and Inorder Traversal