按照之字形打印二叉树
来源:互联网 发布:端口查看 编辑:程序博客网 时间:2024/05/20 14:28
#include <string>#include <iostream>#include <vector>#include <cstring>#include <stack>using namespace std;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<vector<int>> ret; if(pRoot==NULL) return ret; stack<TreeNode*> s1; stack<TreeNode*> s2; bool flag=true; s1.push(pRoot); while(!s1.empty()||!s2.empty()) { if(flag)//从左边到右访问 { vector<int> cur; while(!s1.empty()) { TreeNode *temp=s1.top(); s1.pop(); cur.push_back(temp->val); if(temp->left!=NULL) s2.push(temp->left); if(temp->right!= NULL) s2.push(temp->right); } ret.push_back(cur); flag=!flag; }else//从右到左边访问 { vector<int> cur; while(!s2.empty()) { TreeNode *temp=s2.top(); s2.pop(); cur.push_back(temp->val); if(temp->right!=NULL) s1.push(temp->right); if(temp->left!=NULL) s1.push(temp->left); } ret.push_back(cur); flag=!flag; } } return ret; }};
1 0
- 按照之字形打印二叉树
- 按照之字形顺序打印二叉树
- 按照之字形打印二叉树的节点
- 15.剑指offer-按照之字形打印二叉树
- 之字形打印二叉树
- 之字形打印二叉树
- 之字形打印二叉树
- 之字形打印二叉树
- 按之字形打印二叉树
- 按之字形打印二叉树
- 按之字形打印二叉树
- 二叉树------之字形打印二叉树
- 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
- 按之字形顺序打印二叉树
- 二叉树分层遍历(含之字形打印)
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- C语言printf()函数:格式
- HDFS之上传文件到hdfs中
- git如何配置多个ssh-key
- javaee response乱码问题
- windows下删除lock文件、删除文件夹下的svn文件
- 按照之字形打印二叉树
- Linux进入目录与创建及访问文件权限
- 网站推荐,O(∩_∩)O哈哈~
- VS Code 1.10.2发布
- Allen学习笔记—JSP中JSTL库C标签的使用
- 迭代器(list迭代器的实现)
- software homework3
- 云安全的浅谈
- CSS样式自动换行(强制换行)