算法练习四:重建二叉树
来源:互联网 发布:淘宝官网网站首页 编辑:程序博客网 时间:2024/05/17 22:03
#include<iostream>#include"CommenDefine.h"#include<vector>using namespace std;/*输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回思路:递归*/struct TreeNode* reConstructBinaryTree(vector<int> pre,vector<int> in){if(0 == pre.size())return NULL;vector<int> preleft,preright;vector<int> inleft,inright;int root = pre[0];TreeNode *head = new TreeNode(root);int flag = 0;for(unsigned int i = 0;i < in.size();i++){if(root == in[i]){flag = i;break;}}for(unsigned int i = 0;i < flag;i++){inleft.push_back(in[i]);preleft.push_back(pre[i+1]);}for(unsigned int i = flag+1;i < in.size();i++){inright.push_back(in[i]);preright.push_back(pre[i]);}head->left = reConstructBinaryTree(preleft,inleft);head->right = reConstructBinaryTree(preright,inright);return head;}
0 0
- 算法练习四:重建二叉树
- 剑指offer-算法题练习:part4 重建二叉树
- 算法-重建二叉树
- 算法-重建二叉树
- 算法练习四 二叉查找树
- 【算法题】重建二叉树
- 算法题目---重建二叉树
- 算法:二叉树的重建
- 算法题/重建二叉树
- 剑指offer(四)重建二叉树
- 剑指Offer(四)重建二叉树
- 剑指offer(四) 重建二叉树
- 算法学习记录四(C++)--->通过前序和中序序列重建二叉树
- 面试算法(五)重建二叉树
- 面试算法—重建二叉树
- 【数据结构与算法】重建二叉树
- [算法学习]输入遍历重建二叉树
- 算法题17 重建二叉树
- QProcess:进程通信之无名管道
- 项目中常见的文件
- 第十二周项目二 输出出图G中每个顶点的出度
- 上课随堂笔记
- SSH整合时tomcat启动报错问题
- 算法练习四:重建二叉树
- 数据结构例程——平衡二叉树
- JDBC驱动类型
- ios编程360相机滤镜
- AsyncTask源码浅析
- Http协议网络请求java方式
- [转]Android关于使用混淆文件proguard-project.txt笔记
- cell selectedBackgroundView区域大于cell的异常
- POJ 2533 O(nlogn)解最长递增子序列(构造法)