博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode:105_Construct Binary Tree from Preorder and Inorder Traversal | 根据前序和中序遍历构建二叉树 | Medium...
阅读量:7097 次
发布时间:2019-06-28

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

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

代码如下:

1 struct TreeNode { 2     int            val; 3     TreeNode    *left; 4     TreeNode    *right; 5     TreeNode(int x): val(x),left(NULL), right(NULL) {} 6 }; 7  8 typedef vector
::iterator Iter; 9 TreeNode *buildTree(vector
&preorder, vector
&inorder) 10 {11 return buildTreeRecur(preorder.begin(), preorder.end(), inorder.begin(), inorder.end());12 }13 14 TreeNode *buildTreeRecur(Iter pstart, Iter pend, Iter istart, Iter iend)15 {16 if(pstart == pend || istart == iend)17 return NULL;18 int ival = *pstart;19 Iter ipos = find(istart, iend, ival);20 TreeNode *res = new TreeNode(ival);21 res->left = buildTreeRecur(pstart + 1, pstart+1+(ipos-istart), istart, ipos);22 res->right = buildTreeRecur(pstart+1+(ipos-istart), pend, ipos+1, iend);23 return res;24 }

 

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

你可能感兴趣的文章
shell脚本之循环结构&函数的使用(二)
查看>>
Java基础学习总结(23)——GUI编程
查看>>
navigationItem标题以及左右button的创建...
查看>>
RabbitMQ学习总结(7)——Spring整合RabbitMQ实例
查看>>
zookeeper初探三 java客户端连接
查看>>
ImportError: Settings cannot be imported 错误处理
查看>>
宝玉论“后生可畏”,存于此以自勉
查看>>
linux mkdir命令
查看>>
可变参数列表
查看>>
网络综合实训学习资料
查看>>
iOS9 App Thinning(应用瘦身)功能介绍
查看>>
LVS(DR) + Keepalive实现负载均衡
查看>>
JavaScript基础教程(一)
查看>>
关于容灾的那些事儿
查看>>
查询?还是计算?这不再是个问题!(二)
查看>>
SQL Server Alwayson读写分离配置
查看>>
【源资讯 第41期】前端项目一言不合就分叉;工程师一言不合就删库??
查看>>
date(时间),timedatectl(时区),cal(日历)的用法
查看>>
软件设计流程+***搭建
查看>>
Mycat实现MySQL的分库分表、读写分离、主从切换
查看>>