剑指 Offer 32 - I. 从上到下打印二叉树---Queue

剑指 Offer 32 - I. 从上到下打印二叉树

Queue的用法: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()); //返回第一个元素

ArrayList

求集合的大小 list. 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