zoukankan      html  css  js  c++  java
  • 18.重建二叉树

    class Solution {
    public:
        TreeNode* reConstructBinaryTree(vector<int> pre,vector<int> vin) {
            int vinlen=vin.size();
            if(vinlen==0) 
                return NULL;
            vector<int> pre_left, pre_right, vin_left, vin_right;
      
            TreeNode* head = new TreeNode(pre[0]);
        
            int gen = 0;
            for(int i=0;i<vinlen;i++)
            {
                if(vin[i]==pre[0]) 
                {
                    gen=i;
                    break;
                }
            }
         
            for(int i=0;i<gen;i++)
            {
                vin_left.push_back(vin[i]);//中序遍历左子树遍历序列
                pre_left.push_back(pre[i+1]);//前序遍历左子树遍历序列
            }
        
            for(int i=gen+1;i< vinlen;i++)
            {
                 vin_right.push_back(vin[i]);//中序遍历右子树遍历序列
                 pre_right.push_back(pre[i]);//前序遍历右边子树遍历序列
            }
    
             head->left = reConstructBinaryTree(pre_left, vin_left);
             head->right = reConstructBinaryTree(pre_right, vin_right);
             return head;        
    
        }
    };
    带女朋友搬家新家条件不好,累到女朋友了,让女朋友受苦了,特此明志:每天学习,明年这个时候(20190812)让女朋友住上大房子,永远年轻,永远热泪盈眶,很多人都是这样,他们都把自己当成身在梦中一样,浑浑噩噩地过日子,只有痛苦或爱或危险可以让他们重新感到这个世界的真实。
  • 相关阅读:
    CUDA和cudnn的环境变量设置问题
    zsh-Ubuntu更实用终端
    应用安全
    应用安全
    应用安全
    操作系统
    应用安全
    应用安全
    操作系统
    密码学
  • 原文地址:https://www.cnblogs.com/make-big-money/p/12359771.html
Copyright © 2011-2022 走看看