已知前序中序序列,求后序遍历序列
来源:互联网 发布:污水厂化验数据日报表 编辑:程序博客网 时间:2024/05/18 02:13
给出一棵二叉树的前序和中序遍历,输出后续遍历的结果。
如前序:ABDHECFG,中序:HDBEAFCG,则输出后序为:HDEBFGCA
思路:先根据前序和中序序列构建出二叉树,然后后序输出该二叉树
struct Node{char data;Node *left;Node *right;};Node *getBinaryTree(char *preOrder, char *inOrder, int len){if (preOrder == NULL || *preOrder == '\0' || len <= 0)return NULL;Node *root = new Node;root->data = *preOrder;// 前序遍历的第一个节点就是根节点// 找到根节点在中序遍历中的位置,其值也代表了左子树的节点数目int pos = 0;while (1){if (*(inOrder + pos) == root->data){break;}pos++;}// 递归找到左子树和右子树if (0 == pos){root->left = NULL;}else{root->left = getBinaryTree(preOrder + 1, inOrder, pos);}if (0 == len - pos - 1){root->right = NULL;}else{root->right = getBinaryTree(preOrder + pos + 1, inOrder + pos + 1, len - pos - 1);}return root;}void postOrder(Node *root){if (root == NULL)return;postOrder(root->left);postOrder(root->right);cout << root->data;}
- 已知前序中序序列,求后序遍历序列
- 已知先序中序序列求后序序列
- 二叉树系列(一):已知先序遍历序列和中序遍历序列,求后序遍历序列
- 已知二叉树先序序列和中序序列,求后序序列
- 已知中序遍历序列和后序遍历序列,求先序遍历
- 已知后序中序序列求先序序列
- 已知二叉树后序遍历序列是DBCEFGHA,中序遍历序列EDCBAHFG,它的前序遍历的序列是?
- 二叉树系列(二):已知中序遍历序列和后序遍历序列,求先序遍历序列
- 已知二叉树后序遍历序列是DBCEFGHA,中序遍历序列EDCBAHFG,它的前序遍历的序列是?
- 已知两种遍历序列求原始二叉树
- 已知两种遍历序列求原始二叉树
- 由已知的层次遍历序列构建二叉树
- 已知二叉树的两种遍历序列重建树
- 已知后序遍历序列和中序序列遍历画出树
- 二叉树面试题--已知二叉树的两种遍历序列,求出另一种遍历序列
- 二叉树面试题--已知二叉树的两种遍历序列,求出另一种遍历序列
- 二叉树 已知 两种遍历序列 求第三种遍历序列
- 已知二叉树先序和中序序列 求后序序列
- burpsuit学习--修改来源地址
- android AIDL 小结
- 真机上的App如何抓包
- c语言学习笔记-字符
- color belended layers
- 已知前序中序序列,求后序遍历序列
- Mahout协同过滤算法源码分析(5)--拓展篇
- Linux C线程的使用
- SAP ERP 常用数据表
- android 中调用 so 动态链接库
- CentOS6.4升级python2.6.6到3.3.0
- Oracle中trunc函数、round 函数、ceil函数和floor函数的使用
- [MATLAB技术贴]漫谈MATLAB矩阵转置
- DOM