按之字形顺序打印二叉树
2015-06-07 09:11
204 查看
题目描述
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } }; */ class Solution { public: vector<vector<int>> ans; void shoushu(TreeNode *pRoot,int p ){ if(pRoot==NULL) return ; if(ans.size()==p) ans.push_back(vector<int>()); ans[p].push_back(pRoot->val); shoushu(pRoot->left,p+1); shoushu(pRoot->right,p+1); } vector<vector<int> > Print(TreeNode* pRoot) { shoushu(pRoot,0); for(int i=0;i<ans.size();i++){ if(i&1){ reverse(ans[i].begin(),ans[i].end()); } } return ans; } };
相关文章推荐
- LevelDb
- 剑指offer之在O(1)时间删除链表节点
- JS放在head和放在body中的区别
- R语言:词云图
- 官媒:CNN消费家属悲伤 误导读者认为中国救援不力
- 换位思考
- “无人超市”信用测试:有人扔10元抱走名贵烟酒
- linux mysql 数据按表名称备份
- opencv笛卡尔坐标转换为极坐标cvLogPolar的应用
- iReport 里的各 Band 的解释
- Lemon OA第4篇:常用功能
- Lemon OA第4篇:常用功能
- Unity3d 游戏中的实时降噪-对Square Enix文档的研究与实现
- JDBC连接数据库的步骤
- SVN服务器搭建和使用
- C++设计模式之职责链模式
- hadoop初级班(五)
- 从编程菜鸟到技术大牛必看书籍
- CSS浏览器兼容问题
- Java 对象序列化和操作文件 正则表达式