1. 程式人生 > >面試題:從上往下打印二叉樹

面試題:從上往下打印二叉樹

import span add 試題 linked style util 二叉 arraylist

題目描述:從上往下打印出二叉樹的每個節點,同層節點從左至右打印。

樹的按層遍歷

思路:輔助隊列保存每個節點的子節點值

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

面試題:從上往下打印二叉樹