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

Posted 来老铁干了这碗代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简洁写法剑指 Offer 32 - I. 从上到下打印二叉树相关的知识,希望对你有一定的参考价值。

立志用最少的代码做最高效的表达


从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
例如:
给定二叉树: [3,9,20,null,null,15,7],
返回:
[3,9,20,15,7]

提示:
节点总数 <= 1000


层序遍历。


/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public int[] levelOrder(TreeNode root) {
        if(root == null) return new int[0];
        List<Integer> list = new ArrayList<>();
        Queue<TreeNode> queue = new ArrayDeque<>();

        queue.add(root);
        while(!queue.isEmpty()) {
            TreeNode tmp = queue.remove();
            list.add(tmp.val);
            if(tmp.left != null) queue.add(tmp.left);
            if(tmp.right != null) queue.add(tmp.right);
            
        }
        return list.stream().mapToInt(Integer::intValue).toArray();
    }
}

以上是关于简洁写法剑指 Offer 32 - I. 从上到下打印二叉树的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

简洁+注释剑指 Offer 32 - II. 从上到下打印二叉树 II

简洁+注释剑指 Offer 32 - II. 从上到下打印二叉树 II