由前序、中序遍历,求二叉树的结构
来源:互联网 发布:六场预测法 知乎 编辑:程序博客网 时间:2024/06/05 17:12
代码如下:
#include "stdafx.h"#include <string>using namespace std;string pre = "alicloud";string in = "illcaudo";typedef struct Node{ char ch; Node * left, *right;}*TreeNode;int rebuild( TreeNode & root, string pre, string in ){ if( pre.length() == 0 ){ root = 0; return 0; } char ch = pre[0]; int indx = in.find( ch ); string left_in = in.substr( 0, indx); string right_in = in.substr(indx+1); pre.erase(0, 1); string left_pre = pre.substr( 0, left_in.length() ); string right_pre = pre.substr( left_in.length() ); root = new Node; root->ch = ch; rebuild( root->left, left_pre, left_in ); rebuild( root->right, right_pre, right_in); return 0;}void pre_travel(TreeNode root){ if( NULL == root ) return; printf("%c", root->ch); pre_travel( root->left ); pre_travel( root->right);}
回顾 string 的用法:
str.length() : 字符串占用字节的长度, 与str.size()一样,使用length()是为了兼容c。vector就没有length()。
str.remove( pos, 1 ): 删除pos处的字符,字符串整体前移。
str.substr( pos, len ): str的子串,从pos起长度为len,pos在0到len-1之间。
str.substr( pos ): str的子串,从pos一直到末尾。
str.find( ch ): str中ch的位置,若找到则返回值为 0到 len-1之间,否则返回无符号的最大数0xFFFFFFFF,即-1对应的无符号数,也是string::npos。
- 由前序、中序遍历,求二叉树的结构
- 由二叉树的中序遍历和前序遍历求二叉树重建二叉树
- 已知二叉树的前序遍历、中序遍历或者中序遍历、后序遍历求二叉树结构的算法
- 题目1078:二叉树遍历 由中序 前序 求 后序
- 由二叉树的前序遍历和中序遍历来求后序遍历的结果
- 由二叉树的前序遍历序列和中序遍历序列求后序遍历序列
- 根据前序遍历中序遍历求二叉树
- 由二叉树的前、中序遍历结果求后序遍历结果
- 二叉树的前序遍历和中序遍历求二叉树
- 由前序遍历构建一个特殊的二叉树
- 由前序遍历与中序遍历生成二叉树及二叉树的前序,中序,后续,层序遍历
- 【二叉树】由前序遍历和中序遍历重建二叉树
- 二叉树--由前序遍历和中序遍历重建二叉树
- 由二叉树的前序遍历(后序遍历)和中序遍历输出后序遍历(前序遍历)
- 已知二叉树的前序遍历和中序遍历,求二叉树的后序遍历
- POJ 2255 二叉树由前序遍历中序遍历得到后序遍历
- 阿里笔试-二叉树由前序遍历和中序遍历推导后序遍历
- 二叉树 由中序遍历和前序遍历推后序遍历
- poj 2251 Dungeon Master
- eclipse启动tomcat无法访问
- STM32 GPIO应用
- freemarker 数字格式化详解
- centos下中断ping命令
- 由前序、中序遍历,求二叉树的结构
- 第2天
- HotSpot VM的生命周期
- 笔试题
- Debugging receipt transaction or the Sales Order issue transaction, Set the following profile option
- 安卓中各种Adapter的用法
- MATLAB GUI嵌入进度条(waitBar)
- 你尽力了吗
- Ubuntu 13.04 安装使用clang