简洁写法剑指 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. 从上到下打印二叉树的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode]剑指 Offer 32 - I. 从上到下打印二叉树
[LeetCode]剑指 Offer 32 - I. 从上到下打印二叉树
Leetcode刷题Python剑指 Offer 32 - I. 从上到下打印二叉树