[leetcode]105. Construct Binary Tree from Preorder and Inorder Traversal

原创 2016年08月29日 20:30:25
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) {
        int len=preorder.size();
        if(len==0)
            return {};
        else
            return build(preorder,inorder,0,len-1,0,len-1);
    }
    TreeNode* build(vector<int>& preorder, vector<int>& inorder,int preL,int preR,int inL,int inR)
    {
        if(preR<preL||inR<inL)
            return {};
            
        TreeNode* root=new TreeNode(preorder[preL]);
        if(preR==preL||inR==inL)
            return root;
            
        int mid;
        for(int i=inL;i<=inR;i++)
        {
            if(inorder[i]==preorder[preL])
            {
                mid=i;
                break;
            }
        }
        root->left=build(preorder,inorder,preL+1,preL+mid-inL,inL,mid-1);
        root->right=build(preorder,inorder,preL+1+mid-inL,preR,mid+1,inR);
        return root;
        
    }
};


版权声明:本文为博主原创文章,未经博主允许不得转载。

LeetCode 105:Construct Binary Tree from Preorder and Inorder Traversal

LeetCode 105: Given preorder and inorder traversal of a tree, construct the binary tree. 给定一个二叉树的...
  • sunao2002002
  • sunao2002002
  • 2015年05月20日 23:09
  • 1045

【LeetCode】105. Construct Binary Tree from Preorder and Inorder Traversal 解题报告

转载请注明出处:http://blog.csdn.net/crazy1235/article/details/51471280Subject 出处:https://leetcode.com/pro...
  • crazy1235
  • crazy1235
  • 2016年06月01日 23:42
  • 5908

C++详解Leetcode:105. Construct Binary Tree from Preorder and Inorder Traversal

原题思路通过二叉树的前序遍历和中序遍历来构建二叉树,通过递归可以很容易的解决这个问题,在遇到二叉树的问题,应该习惯先画图再来解决code/** * Definition for a binary t...
  • u014265347
  • u014265347
  • 2017年07月30日 17:34
  • 312

【LeetCode-面试算法经典-Java实现】【105-Construct Binary Tree from Preorder and Inorder Traversal(构造二叉树)】

【106-Construct Binary Tree from Preorder and Inorder Traversal(通过前序和中序遍历构造二叉树)】【LeetCode-面试算法经典-Java...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月09日 06:37
  • 2520

[JAVA]LeetCode105 Construct Binary Tree from Preorder and Inorder Traversal

根据前序遍历和中序遍历,构建二叉树。假设树中不存在相同的节点
  • fumier
  • fumier
  • 2015年03月29日 10:39
  • 740

LeetCode Construct Binary Tree from Inorder and Postorder Traversal 思考分析过程分享

思考: 1 画图: 把二叉树和其中序和后序的序列都画出来(这个很重要,我以前有时候总是凭空想象,结果脑子一片空白) 2 把问题写下来:怎么构造一个节点? 3 观察: 到底有什么特点是可以利用来解题的呢...
  • kenden23
  • kenden23
  • 2013年11月12日 13:20
  • 2290

leetcode笔记:Construct Binary Tree from Preorder and Inorder Traversal

这道题考察了先序和中序遍历,先序是先访问根节点,然后访问左子树,最后访问右子树;中序遍历是先遍历左子树,然后访问根节点,最后访问右子树。...
  • liyuefeilong
  • liyuefeilong
  • 2015年11月30日 23:54
  • 1308

[leetcode-105]Construct Binary Tree from Preorder and Inorder Traversal(java)

问题描述: Given preorder and inorder traversal of a tree, construct the binary tree.分析:这道题实际上是考察如何从前序遍历...
  • zdavb
  • zdavb
  • 2015年08月11日 15:09
  • 276

[LeetCode][Java] Construct Binary Tree from Inorder and Postorder Traversal

题目: Given inorder and postorder traversal of a tree, construct the binary tree. Note: You m...
  • Evan123mg
  • Evan123mg
  • 2015年07月20日 21:23
  • 648

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

题目:利用先序遍历和中序遍历,构造一个二叉树! 例如: Inorder Traversal:{3,1,7,4,0,5,8,2,6}; Preorder Traversal:{0,1,3,4,7,2,5...
  • yx2008302080
  • yx2008302080
  • 2014年12月04日 23:07
  • 552
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[leetcode]105. Construct Binary Tree from Preorder and Inorder Traversal
举报原因:
原因补充:

(最多只允许输入30个字)