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

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

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


class Solution {
    public int[] levelOrder(TreeNode root) {
        if(root == null)  return new int[0];

        Queue<TreeNode> queue = new LinkedList<TreeNode>();
        queue.add(root);
        ArrayList<Integer> ans = new ArrayList<>();   //用来装结果数组

        while(!queue.isEmpty()){
            TreeNode node = queue.poll();   //将队列中的节点弹出,下一步看它的左右子树
            ans.add(node.val);
            if(node.left != null)  queue.add(node.left);  //左右子树重复上述动作
            if(node.right != null) queue.add(node.right);
        }
        int[]a = new int[ans.size()];
        for(int i=0; i<ans.size(); i++){
            a[i] = ans.get(i);
        }

        return a;
    }
}
posted @ 2021-01-03 08:52  xiaoff  阅读(74)  评论(0编辑  收藏  举报