递归二叉树的序列打印
来源:互联网 发布:淘宝优惠券佣金怎么算 编辑:程序博客网 时间:2024/06/03 19:29
请用递归方式实现二叉树的先序、中序和后序的遍历打印。
给定一个二叉树的根结点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) { vector<int> temp; vector<vector<int>> res; preorder(root,temp); res.push_back(temp); temp.clear(); midorder(root,temp); res.push_back(temp); temp.clear(); postorder(root,temp); res.push_back(temp); temp.clear(); return res; } // 先序遍历 void preorder(TreeNode *root,vector<int> &temp){ if(root==NULL) return ; temp.push_back(root->val); preorder(root->left,temp); preorder(root->right,temp); } // 中序遍历 void midorder(TreeNode *root,vector<int> &temp){ if(root==NULL) return ; midorder(root->left,temp); temp.push_back(root->val); midorder(root->right,temp); } // 后序遍历 void postorder(TreeNode *root,vector<int> &temp){ if(root==NULL) return ; postorder(root->left,temp); postorder(root->right,temp); temp.push_back(root->val); }};
阅读全文
0 0
- 递归二叉树的序列打印练习
- 递归二叉树的序列打印
- 递归二叉树的序列打印
- 非递归二叉树的序列打印
- 递归二叉树的序列打印、非递归二叉树的序列打印
- 二叉树1:递归二叉树的序列打印
- 二叉树2:非递归二叉树的序列打印
- 非递归二叉树的序列打印练习
- 数据结构与算法分析笔记与总结(java实现)--二叉树1:递归二叉树的序列打印练习题
- 数据结构与算法分析笔记与总结(java实现)--二叉树2:非递归二叉树的序列打印练习题
- 递归求二叉树的层数和递归打印二叉树的树形结构
- 二叉树的序列化(简单递归)
- 树的学习——(递归构建二叉树、递归非递归前序中序后序遍历二叉树、根据前序序列、中序序列构建二叉树)
- 根据二叉树的先序序列和中序序列还原二叉树并打印后序序列
- 递归二叉树建立、遍历、删除、打印
- 二叉树的遍历以及将二叉树倒置90°打印输入(递归)
- 递归创建先序序列二叉树
- 二叉搜索树的后序遍历序列(递归与非递归)
- linux 更改屏幕亮度
- C3
- hdu1281 棋盘游戏 二分图最大匹配 枚举
- 关于双重指针指向
- 实例详解Java中如何对方法进行调用
- 递归二叉树的序列打印
- Handler,Looper,MessageQueue,Message解析
- AndroidPicker的使用
- No installed build tools found. Install the Android build tools version 19.1.0 or higher.
- asp.net mvc Html.Partial or Html.Action
- easyUI使用datagrid分页栏不显示
- 总结IOS界面间跳转的几种方法
- SQL的连表查询
- 如何将本地项目上传至GitHub