题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
示例1
输入
{5,4,#,3,#,2,#,1}
返回值
[5,4,3,2,1]
解题思路
对二叉树进行层序遍历,输出结果
java代码
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<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList<Integer> list=new ArrayList<>(); if(root == null){ return list; } Queue<TreeNode> q=new LinkedList<>(); q.offer(root); while(!q.isEmpty()){ TreeNode node=q.poll(); list.add(node.val); if(node.left != null) q.offer(node.left); if(node.right != null) q.offer(node.right); } return list; } }