博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Construct Binary Tree from Inorder and Postorder Traversal
阅读量:6679 次
发布时间:2019-06-25

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

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

Note:

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

 

C++实现代码:

#include
#include
#include
using namespace std;//Definition for binary treestruct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution {public: TreeNode *buildTree(vector
&inorder, vector
&postorder) { TreeNode *root=NULL; root=build(inorder.begin(),inorder.end(),postorder.begin(),postorder.end()); return root; } TreeNode *build(vector
::iterator ibegin,vector
::iterator iend,vector
::iterator pbegin,vector
::iterator pend) { TreeNode *root=NULL; if(pbegin==pend||ibegin==iend) return NULL; auto it=ibegin; auto tmp=pend-1; while(it!=iend) { if(*it==*tmp) break; it++; } root=new TreeNode(*it); int len=it-ibegin; root->left=build(ibegin,it,pbegin,pbegin+len); root->right=build(it+1,iend,pbegin+len,pend-1); return root; } void preorder(TreeNode *root) { if(root) { cout<
val<<" "; preorder(root->left); preorder(root->right); } } void inorder(TreeNode *root) { if(root) { inorder(root->left); cout<
val<<" "; inorder(root->right); } } void postorder(TreeNode *root) { if(root) { postorder(root->left); postorder(root->right); cout<
val<<" "; } }};int main(){ vector
posorder={ 4,5,2,6,7,3,1}; vector
inorder={ 4,2,5,1,6,3,7}; Solution s; TreeNode *root=s.buildTree(inorder,posorder); s.preorder(root); cout<

运行结果:

转载地址:http://rcnao.baihongyu.com/

你可能感兴趣的文章
更改EMC-Powerpath软件的路径工作模式
查看>>
软件管理
查看>>
[ Talk is Cheap Show me the CODE ] : jQuery Mobile
查看>>
LVM——逻辑卷管理
查看>>
离线安装gcc(CentOS7)
查看>>
客运车辆监管及运营平台
查看>>
eclipse添加注释
查看>>
贝叶斯估计和最大后验估计
查看>>
COBBLER无人值守安装
查看>>
基础知识--JAVA注解ElementType
查看>>
kickstart部署centos6.2 x86_64
查看>>
salt 的用户管理
查看>>
我封装的全文检索之solr篇
查看>>
NFC的第一次接触
查看>>
RHEL7 Connection closed by foreign host.
查看>>
Nodejs开发框架之Loopback介绍
查看>>
微信小程序下拉刷新使用整理
查看>>
ubuntu12.04禁用客人会话
查看>>
我的友情链接
查看>>
JVM垃圾收集器与内存分配策略
查看>>