要求:通过二叉树的前序和中序遍历序列构建一颗二叉树

代码如下:

 struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x): val(x),left(NULL), right(NULL) {}
}; typedef vector<int>::iterator Iter;
TreeNode *buildTree(vector<int> &preorder, vector<int> &inorder)
{
return buildTreeRecur(preorder.begin(), preorder.end(), inorder.begin(), inorder.end());
} TreeNode *buildTreeRecur(Iter pstart, Iter pend, Iter istart, Iter iend)
{
if(pstart == pend || istart == iend)
return NULL;
int ival = *pstart;
Iter ipos = find(istart, iend, ival);
TreeNode *res = new TreeNode(ival);
res->left = buildTreeRecur(pstart + , pstart++(ipos-istart), istart, ipos);
res->right = buildTreeRecur(pstart++(ipos-istart), pend, ipos+, iend);
return res;
}

最新文章

  1. 基于sticky组件,实现带sticky效果的tab导航和滚动导航
  2. maven打包日志输出优化-去掉泛型与过时的警告
  3. SQLserver 表字段修改语句
  4. Android 生成含签名文件的apk安装包
  5. java项目
  6. PHP得出附件扩展名
  7. .cshrc
  8. weak和assign区别
  9. bzoj1355——2016——3——15
  10. DBCC CHECKIDENT在 SQL Server修改指定表的当前标识值
  11. [2019.03.16]使用DOM操作函数和CSS选择器来针对已有的HTML进行只凭JS的改动
  12. 自定义redis连接池(字典操作)
  13. SpringMVC-1-(简介及HelloWord)
  14. iframe子页面控制父页面滚动高度,直接蹦到父页面开头
  15. 你想要的Python面试都在这里了【315+道题】
  16. 面试3——java集合类总结(Map)
  17. linux 系统获得当前文件夹下存在的所有文件 scandir函数和struct dirent **namelist结构体[转]
  18. python基础--os模块和sys模块
  19. Android -- Service的开启关闭与生命周期
  20. Android跟踪NDK崩溃信息

热门文章

  1. 20175314 《Java程序设计》第一周学习总结
  2. 186. Reverse Words in a String II 翻转有空格的单词串 里面不变
  3. [leetcode]156.Binary Tree Upside Down颠倒二叉树
  4. 28.Mysql权限与安全
  5. (转)Android四大组件——Activity跳转动画、淡出淡入、滑出滑入、自定义退出进入
  6. etcd-v2第二集
  7. [字符串]TrBBnsformBBtion
  8. NCUAP 利用java自带方法实现导入excel取数据
  9. exchange 2010 数据库管理
  10. 【APP测试(Android)】--安全测试