螺旋遍历二叉树 Spiral-order traversal
来源:互联网 发布:mac软件商店 编辑:程序博客网 时间:2024/06/07 00:01
螺旋遍历二叉树指的是,先从左往右层序打印第一层,然后从右往左层序打印第二层,再从左往右层序打印第三层,再从右往左层序打印第四层,。。。
思路:可以用两个栈来做。
struct Node{int data;Node* left;Node* right;Node(int d, Node*l, Node*r):data(d), left(l), right(r){}};void print_spiral_order(Node* root){stack<Node*> sta1, sta2;sta1.push(root);while(!sta1.empty() || !sta2.empty() ){while(!sta1.empty()){cout<< sta1.top()->data;if(sta1.top()->left)sta2.push(sta1.top()->left);if(sta1.top()->right)sta2.push(sta1.top()->right);sta1.pop();}while(!sta2.empty()){cout<< sta2.top()->data;if(sta2.top()->left)sta1.push(sta2.top()->right);if(sta2.top()->right)sta1.push(sta2.top()->left);sta2.pop();}}}
- 螺旋遍历二叉树 Spiral-order traversal
- 二叉树螺旋遍历
- Binary Tree Level Order Traversal 分层遍历二叉树@LeetCode
- 【二叉树层次遍历】Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal, 二叉树层级遍历
- Binary Tree Zigzag Level Order Traversal 之字形遍历二叉树
- Leetcode Binary Tree Level Order Traversal 二叉树分层遍历
- 【LeetCode】Binary Tree Zigzag Level Order Traversal--- 层序遍历二叉树
- Binary Tree Level Order Traversal 二叉树的层序遍历
- Binary Tree Level Order Traversal II 二叉树的反向层序遍历
- 二叉树的层序遍历 改进版 Binary Tree Level Order Traversal II
- Binary Tree Zigzag Level Order Traversal (二叉树锯齿形层次遍历)
- leetCode解题报告之Binary Tree Level Order Traversal II,I(二叉树层次遍历)
- LeetCode(Binary Tree Level Order Traversal, 2,Zigzag)二叉树的层次遍历
- Binary Tree Level Order Traversal 二叉树层次遍历(深搜,vector)
- Binary Tree Level Order Traversal II 二叉树层次遍历(广搜,queue)(重重)
- Binary Tree Zigzag Level Order Traversal 二叉树锯齿形层次遍历
- LeetCode OJ 之 Binary Tree Level Order Traversal (二叉树的层次遍历)
- 最近的Fibonacci数
- 关于报表
- 无头单链表逆序(法二)
- 简单定制chkconfig
- 创业公司的股权分配
- 螺旋遍历二叉树 Spiral-order traversal
- leetcode Add Binary
- leetcode Merge Two Sorted Lists
- 程序员学习能力提升三要素
- Android开发系列七:怎么定时刷新界面
- 查看和修改 Linux 开机自动运行的程序
- 比n小的所有素数
- Linux如何实现开机启动程序详解
- hdu 1853