二叉树层次遍历的螺旋打印
2014-06-29 10:39
190 查看
如图所示打印结果为1,2,3,4,5,6,7的螺旋形式
package tree; import java.util.Stack; public class Spiralform { /** * 层次遍历的螺旋打印 * @param args */ public static void printspiralform(TreeNode root){ if(root==null) return; Stack<TreeNode> stack1 = new Stack<>(); Stack<TreeNode> stack2 = new Stack<>(); stack1.push(root); while(!stack1.isEmpty()||!stack2.isEmpty()){ while(!stack1.isEmpty()){ TreeNode node = stack1.pop(); System.out.print(node.value+" "); if(node.right!=null){ stack2.push(node.right); } if(node.left!=null){ stack2.push(node.left); } } while(!stack2.isEmpty()){ TreeNode node = stack2.pop(); System.out.print(node.value+" "); if(node.left!=null){ stack1.push(node.left); } if(node.right!=null){ stack1.push(node.right); } } } } public static void main(String[] args) { TreeNode root = new TreeNode(1); root.left = new TreeNode(2); root.right = new TreeNode(3); root.left.left = new TreeNode(7); root.left.left.left = new TreeNode(8); root.left.left.right = new TreeNode(9); root.left.right = new TreeNode(6); root.right.left = new TreeNode(5); root.right.right = new TreeNode(4); printspiralform(root); } }
相关文章推荐
- 二叉树的构建、层次打印、广度遍历、深度遍历、K值路径
- 二叉树的层次遍历(打印)
- 剑指offer 面试题23:从上往下打印二叉树(二叉树的层次遍历BFS) 题解
- 19、从上到下打印二叉树(层次遍历)
- 按层打印二叉树的节点【层次遍历变形】
- 把二叉树打印成多行(二叉树的层次遍历)
- 二叉树 的先序 中序、后序遍历、层次遍历以及树状打印等操作
- 二叉树 的先序 中序、后序遍历、层次遍历以及树状打印等操作
- 【剑指 offer】(二十三)—— 从上往下打印二叉树(或曰层次遍历、广度优先遍历)
- 每日一练(38) - 从上往下打印二叉树(二叉树的层次遍历)
- 剑指offer--从上往下打印二叉树--层次遍历、广度优先搜索
- 按照层次遍历并打印二叉树
- 二叉树层次遍历打印
- 按之字形顺序打印二叉树(二叉树的层次遍历)
- 剑指Offer--023-从上往下打印二叉树(层次遍历二叉树)
- 二叉树的层次遍历及之形打印算法 Java实现
- 从上往下打印二叉树,层次遍历
- 二叉树的层次遍历,从上往下打印二叉树
- 二叉树的层次遍历,从上到下和从下到上分层打印
- 层次遍历二叉树