数据结构之二叉树:先中后序遍历(递归)
来源:互联网 发布:tech域名不能备案 编辑:程序博客网 时间:2024/06/10 02:10
请用递归方式实现二叉树的先序、中序和后序的遍历打印。
给定一个二叉树的根结点root,请依次返回二叉树的先序,中序和后续遍历(二维数组的形式)。
代码:
*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
class
TreeToSequence {
public
:
vector<vector<
int
> > convert(TreeNode* root) {
// write code here
vector<
int
>vec2;
vector<
int
>vec3;
vector<
int
>vec4;
vector<vector<
int
> >vec1;
preOrder(vec2,root);
midOrder(vec3,root);
afOrder(vec4,root);
vec1.push_back(vec2);
vec1.push_back(vec3);
vec1.push_back(vec4);
return
vec1;
}
void
preOrder(vector<
int
>&vec,TreeNode* root){
if
(root==NULL)
return
;
vec.push_back(root->val);
preOrder(vec,root->left);
preOrder(vec,root->right);
}
void
midOrder(vector<
int
>&vec,TreeNode* root){
if
(root==NULL)
return
;
midOrder(vec,root->left);
vec.push_back(root->val);
midOrder(vec,root->right);
}
void
afOrder(vector<
int
>&vec,TreeNode* root){
if
(root==NULL)
return
;
afOrder(vec,root->left);
afOrder(vec,root->right);
vec.push_back(root->val);
}
};
1 0
- 数据结构之二叉树:先中后序遍历(递归)
- 数据结构之二叉树:先中后序遍历(非递归)
- 数据结构之二叉树遍历(递归和非递归)
- 数据结构之二叉树的递归创建、递归遍历
- 遍历二叉树(数据结构,递归)
- 数据结构-递归遍历二叉树
- 【数据结构】二叉树的遍历(递归与非递归)
- 【数据结构与算法】二叉树的遍历(递归遍历、非递归遍历、层序遍历)
- 数据结构之二叉树的非递归遍历
- 数据结构之 非递归方法先序遍历二叉树
- 数据结构之 非递归中序遍历二叉树
- 【数据结构】二叉查找树【续】之非递归遍历
- 数据结构之二叉树的递归建立和遍历
- 数据结构之二叉树的递归建立和遍历(续)
- 每天一点数据结构之二叉树非递归遍历
- 数据结构之二叉树遍历的递归算法
- 数据结构之二叉树的非递归遍历
- 数据结构之二叉树的中序非递归遍历
- eclipse 如何安装freemaker ftl 插件
- Jackson将json字符串转换成泛型List/map
- js实现京东购物放大镜和选项卡效果
- 电商运营到底做什么?你所不知道的电商运营工作
- 题目总结
- 数据结构之二叉树:先中后序遍历(递归)
- spingboot 定时任务
- 6、八大内部排序--Java代码
- android版本和API对应关系
- oracle解表死锁。
- 实践 Neutron 前的两个准备工作 - 每天5分钟玩转 OpenStack(78)
- OMACP密码类型
- cmake安装和使用简单介绍
- Tomcat源码阅读之请求过程