面试题61:按之字形顺序打印二叉树
来源:互联网 发布:网络借贷监管法学 编辑:程序博客网 时间:2024/06/01 08:27
题目:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
其实这题和之前的60题其实差不多,完全可以获得的正序的部分再逆序,但书上介绍了另一种方法,就按书上的写了。
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> > Print(TreeNode* pRoot) { vector<int> vect; vector<vector<int> > v; if(pRoot == NULL) return v; stack<TreeNode*> s1; stack<TreeNode*> s2; s1.push(pRoot); TreeNode *temp=NULL; while(!s1.empty() || !s2.empty()) { while(!s1.empty()) { temp = s1.top(); s1.pop(); if(temp->left) s2.push(temp->left); if(temp->right) s2.push(temp->right); vect.push_back(temp->val); } v.push_back(vect); vect.resize(0); while(!s2.empty()) { temp = s2.top(); s2.pop(); if(temp->right) s1.push(temp->right); if(temp->left) s1.push(temp->left); vect.push_back(temp->val); } if(vect.size() != 0) v.push_back(vect); vect.resize(0); } return v; } };
0 0
- 面试题61:按之字形顺序打印二叉树
- 面试题61:按之字形顺序打印二叉树
- 面试题61:按之字形顺序打印二叉树
- 面试题61:按之字形顺序打印二叉树
- 面试题68:按之字形顺序打印二叉树
- 面试题61. 按之字形顺序打印二叉树
- 《剑指Offer》学习笔记--面试题61:按之字形顺序打印二叉树
- 【剑指Offer学习】【面试题61:按之字形顺序打印二叉树】
- 剑指offer-面试题61:按之字形顺序打印二叉树
- 剑指offer--面试题61:按之字形顺序打印二叉树
- 剑指offer-面试题61-按之字形顺序打印二叉树
- 剑指offer 面试题61 按之字形顺序打印二叉树
- 剑指offer面试题61 按之字形顺序打印二叉树(java实现)
- 【剑指Offer】面试题61:按之字形顺序打印二叉树
- 《剑指offer》Python语言 面试题61:按之字形顺序打印二叉树
- 剑指offer——面试题61:按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 园圆形图片 ImageLoder 实现
- Spark开发指南
- xlistview 上拉刷新 下拉加载
- hdoj1241Oil Deposits
- 函数指针
- 面试题61:按之字形顺序打印二叉树
- 需求分析方法及包装类
- 关于listview,gridview里面数据显示不全的问题
- 二维码
- HDU 4576(概率DP+滚动数组)
- C#使用Unity框架
- pyqt 修改line Edit的背景颜色
- c++ fstream中seekg()和seekp()的用法
- 十、外观模式Facade(结构型)