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

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

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

Note:

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

/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:template
void creatTree(TreeNode *&root, Iter preBeg,Iter preEnd,Iter inBeg,Iter inEnd){ if (preBeg==preEnd||inBeg==inEnd) { root=NULL; return; } root=new TreeNode(*preBeg); vector
::iterator tmp=find(inBeg,inEnd,*preBeg); int leftsize=tmp-inBeg; creatTree(root->left, preBeg+1,preBeg+leftsize+1,inBeg,tmp); creatTree(root->right, preBeg+leftsize+1,preEnd,tmp+1,inEnd);}TreeNode *buildTree(vector
&preorder, vector
&inorder) { TreeNode *root; creatTree(root,preorder.begin(),preorder.end(),inorder.begin(),inorder.end()); return root;}/*TreeNode * creatTree(vector
::iterator preBeg,vector
::iterator preEnd,vector
::iterator inBeg,vector
::iterator inEnd){ if (preBeg==preEnd||inBeg==inEnd) { return NULL; } TreeNode *root=new TreeNode(*preBeg); vector
::iterator tmp=find(inBeg,inEnd,*preBeg); int leftsize=tmp-inBeg; root->left=creatTree(preBeg+1,preBeg+leftsize+1,inBeg,tmp); root->right=creatTree(preBeg+leftsize+1,preEnd,tmp+1,inEnd); return root;}TreeNode *buildTree(vector
&preorder, vector
&inorder) { return creatTree(preorder.begin(),preorder.end(),inorder.begin(),inorder.end());}*/};

 

转载于:https://www.cnblogs.com/Vae1990Silence/p/4281340.html

你可能感兴趣的文章
Python内置函数(29)——help
查看>>
机器学习系列-tensorflow-01-急切执行API
查看>>
SqlServer 遍历修改字段长度
查看>>
Eclipse快捷键:同时显示两个一模一样的代码窗口
查看>>
《架构之美》阅读笔记05
查看>>
《大道至简》读后感——论沟通的重要性
查看>>
JDBC基础篇(MYSQL)——使用statement执行DQL语句(select)
查看>>
关于React中props与state的一知半解
查看>>
java中Hashtable和HashMap的区别(转)
查看>>
关闭数据库
查看>>
webStrom智能提示忽略首字母大小写问题
查看>>
层叠加的五条叠加法则(一)
查看>>
设计模式六大原则(5):迪米特法则
查看>>
对Feature的操作插入添加删除
查看>>
javascript String
查看>>
ecshop 系统信息在哪个页面
查看>>
【转】码云source tree 提交超过100m 为什么大文件推不上去
查看>>
Oracle数据库的增、删、改、查
查看>>
MySql执行分析
查看>>
git使用中的问题
查看>>