zoukankan      html  css  js  c++  java
  • 43: Construct Binary Tree from Preorder and Inorder Traversal

    /************************************************************************/
                /*       43:  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.

                 * */
                
                /*** 递归做法*********************/
                /*
                 * 关键的地方在于:
                 *
                 * 在前序遍历的序列里,同时对左子树和右子树进行递归得到一个节点的左右节点
                 * */

    public TreeNode buildTreeByPre_In(int[] preorder, int[] inorder)
                {
                     return helper(0, 0, inorder.length - 1, preorder, inorder);
                }
                
                private  TreeNode helper(int preStart, int inStart, int inEnd, int[] preorder, int[] inorder) {
                    if (preStart > preorder.length - 1 || inStart > inEnd) {
                        return null;
                    }
                    TreeNode root = new TreeNode(preorder[preStart]);
                    int inIndex = 0; // Index of current root in inorder
                    for (int i = inStart; i <= inEnd; i++) {
                        if (inorder[i] == root.val) {
                            inIndex = i;
                            break;
                        }
                    }
                    root.left = helper(preStart + 1, inStart, inIndex - 1, preorder, inorder);
                    root.right = helper(preStart + inIndex - inStart + 1, inIndex + 1, inEnd, preorder, inorder);
                    return root;
                }



  • 相关阅读:
    MKMapVIew学习系列2 在地图上绘制出你运行的轨迹
    WPF SDK研究 Intro(6) WordGame1
    WPF SDK研究 Intro(3) QuickStart3
    WPF SDK研究 Layout(1) Grid
    WPF SDK研究 目录 前言
    WPF SDK研究 Intro(7) WordGame2
    WPF SDK研究 Layout(2) GridComplex
    对vs2005创建的WPF模板分析
    WPF SDK研究 Intro(4) QuickStart4
    《Programming WPF》翻译 第6章 资源
  • 原文地址:https://www.cnblogs.com/theonemars/p/4254336.html
Copyright © 2011-2022 走看看