ソードはオファー32-Iを指します。バイナリツリーを上から下に印刷します---キュー

ソードフィンガーオファー32-I。二分木を上から下に印刷する

キューの使用法https//www.runoob.com/java/data-queue.html

Queue <String> queue = new LinkedList <String>();

//要素を追加します

queue.offer( "a");

System.out.println( "poll =" + queue.poll()); //最初の要素を返し、キューから削除します

System.out.println( "element =" + queue.element()); //最初の要素を返します

System.out.println( "peek =" + queue.peek()); //最初の要素を返します

配列リスト

コレクションリストのサイズを見つけます。size()

要素list.add(xx)を追加します

指定された位置にある要素を取得しますlist.get(index)

class Solution {
    public int[] levelOrder(TreeNode root) {
        if(root==null)  return new int[0];
        Queue<TreeNode> q=new LinkedList<>();
        List<Integer> list=new ArrayList<>();
        q.add(root);
        while(!q.isEmpty()){
            TreeNode node=q.poll();
            list.add(node.val);
            if(node.left!=null) q.add(node.left);
            if(node.right!=null)    q.add(node.right);
        }
        int[] res=new int[list.size()];
        for(int i=0;i<list.size();i++){
            res[i]=list.get(i);
        }
        return res;
    }
}

 

おすすめ

転載: blog.csdn.net/qq_41041762/article/details/108078172