牛客网 | 从上往下打印二叉树

来源:互联网 发布:免费的mac清理软件 编辑:程序博客网 时间:2024/04/30 07:24

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

import java.util.ArrayList;import java.util.Queue;import java.util.concurrent.LinkedBlockingQueue;/**public class TreeNode {    int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this.val = val;    }}*/public class Solution {    public  ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {            Queue<TreeNode> queue = new LinkedBlockingQueue<>();            ArrayList<Integer> list = new ArrayList<>();            if(root==null)  return list;            queue.add(root);            while (!queue.isEmpty())            {                TreeNode node = queue.peek();                list.add(node.val);                queue.poll();                if(node.left!=null)queue.add(node.left);                if(node.right!=null)queue.add(node.right);            }            return list;        }}


0 0