面试题32 - I. 从上到下打印二叉树

package leetcode;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Queue;

public class offer_32_1 {
    public int[] levelOrder(TreeNode root) {
        if(root==null) {return new int[0];}
        ArrayList<Integer>list=new ArrayList<Integer>();
        Queue<TreeNode> queue=new LinkedList<TreeNode>();
        queue.add(root);
        
        //用队列实现中序遍历
        while(!queue.isEmpty()) {
            
            TreeNode temp=queue.poll();
            list.add(temp.val);
            if(temp.left!=null) {
                queue.add(temp.left);
            }
            if(temp.right!=null) {
                queue.add(temp.right);
            }
        }
        int[] arr=new int[list.size()];
        for(int i=0;i<list.size();i++) {
            arr[i]=list.get(i);
        }
        return arr;
        
    }
}

 

posted on 2022-03-07 10:19  一仟零一夜丶  阅读(17)  评论(0)    收藏  举报