从上往下打印二叉树
就是二叉树的层次遍历,使用一个队列来维持。
实现代码:
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 { ArrayList<Integer> ret; Queue<TreeNode> queue; public Solution() { ret = new ArrayList<Integer>(); queue = new LinkedList<TreeNode>(); } public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { if(root == null) return ret; queue.offer(root); while(!queue.isEmpty()) { TreeNode node = queue.poll(); ret.add(node.val); //左子节点入队 if(node.left != null) { queue.offer(node.left); } //右节点入队 if(node.right != null) { queue.offer(node.right); } } return ret; } }
吐槽一下:牛客网的代码模板和后台调用写的真烂。
作者:Pickle
声明:对于转载分享我是没有意见的,出于对博客园社区和作者的尊重一定要保留原文地址哈。
致读者:坚持写博客不容易,写高质量博客更难,我也在不断的学习和进步,希望和所有同路人一道用技术来改变生活。觉得有点用就点个赞哈。








浙公网安备 33010602011771号