按之字形顺序打印二叉树
来源:互联网 发布:2017手机淘宝装修教程 编辑:程序博客网 时间:2024/05/14 21:43
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
题目链接:点击
PS:也可以用两个栈来做这题
import java.util.*;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Solution { public ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> ret =new ArrayList<>();if(pRoot==null) return ret;ArrayList<Integer> list=new ArrayList<>();LinkedList<TreeNode> queue=new LinkedList<>();queue.addLast(null);queue.addLast(pRoot);boolean leftToRight=true;while(queue.size()!=1){TreeNode node=queue.removeFirst();if(node==null){Iterator<TreeNode> iter=null;if(leftToRight) iter=queue.iterator();else iter=queue.descendingIterator();leftToRight=!leftToRight;while(iter.hasNext()){TreeNode temp=(TreeNode)iter.next();list.add(temp.val);}ret.add(new ArrayList<Integer>(list));list.clear();queue.addLast(null);continue;}if(node.left!=null) queue.addLast(node.left);if(node.right!=null) queue.addLast(node.right);}return ret; }}
阅读全文
0 0
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 牛客网 | 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 55.按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 【59】按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- Q61:按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 5.zk实现-分布式排它锁
- freeCodeCamp题目:No repeats please(排列组合题)
- Java 根据银行卡号获取银行名称以及图标
- Lod和MipMap
- 网络流24题
- 按之字形顺序打印二叉树
- kafka官网示例说明--KafkaConsumer
- Swift中的逃逸闭包的理解
- js 和 app交互信息
- Tips【油猴Tampermonkey】脚本安装教程
- 小学奥数思维训练题(十八)
- android开机动画bootanimation 分析
- IT男装逼利器:如何像黑客一样聊天 Mojo-Webqq
- gitlab搭建