博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【leetocde】 105. Construct Binary Tree from Preorder and Inorder Traversal
阅读量:6846 次
发布时间:2019-06-26

本文共 1316 字,大约阅读时间需要 4 分钟。

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

Note:

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

 

 to see which companies asked this question

 
 
递归就可以了。
 
#include
using namespace std;/** * 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
& preorder, vector
& inorder) { if(preorder.size()==0||inorder.size()==0||find(inorder.begin(),inorder.end(),preorder[0])==inorder.end()) return NULL; auto rootindex=find(inorder.begin(),inorder.end(),preorder[0]); TreeNode *root = new TreeNode(preorder[0]); vector
subleft,subright; preorder.erase(preorder.begin()); if(rootindex!=inorder.begin()) subleft.insert(subleft.begin(),inorder.begin(),rootindex); if(rootindex!=inorder.end()-1) subright.insert(subright.begin(),rootindex+1,inorder.end()); root->left=buildTree(preorder,subleft); root->right=buildTree(preorder,subright); return root; }};

 

转载于:https://www.cnblogs.com/LUO77/p/5616963.html

你可能感兴趣的文章
SQL Injection(SQL注入)
查看>>
apache 编译安装与做nagios前端展示
查看>>
Powershell窗口查看帮助信息
查看>>
使用Elasticsearch快速搭建食谱搜索系统
查看>>
LVS 三种工作模式原理、以及优缺点比较
查看>>
raid1+0磁盘阵列创建、性能测试与故障模拟
查看>>
电脑启动流程
查看>>
DHCP
查看>>
JVM结构、GC工作机制详解
查看>>
VMware Horizon FLEX介绍
查看>>
Spring装配Bean---使用xml配置
查看>>
CentOS5 sendmail服务器配置
查看>>
DNS搭建
查看>>
JS如何实现对name是数组的复选框的全选和反选以及取消选择
查看>>
Java NIO 之 Buffer
查看>>
mysql基本使用
查看>>
BASH相关
查看>>
linux 文件类型 时间戳 ls bash特性四 文件查看命令 cp move echo
查看>>
NetScaler的部署实验之八更新StoreFront的配置更改
查看>>
window Linux 系统安装盘制作
查看>>