
题目描述
102. 二叉树的层序遍历
给你二叉树的根节点 root
,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。
示例 1:

1 2
| 输入:root = [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]]
|
示例 2:
示例 3:
提示:
- 树中节点数目在范围
[0, 2000]
内
-1000 <= Node.val <= 1000
解题思路
广度优先搜索

代码实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public class Solution102Case1 { public static List<List<Integer>> levelOrder(TreeNode root) { Queue<TreeNode> queue = new LinkedList<>(); queue.add(root); List<List<Integer>> result = new ArrayList<>(); while (!queue.isEmpty()) { List<Integer> list = new ArrayList<>(); int size = queue.size(); for (int i = 0; i < size; i++) { TreeNode node = queue.poll(); list.add(node.val); if (null != node.left) { queue.offer(node.left); } if (null != node.right) { queue.offer(node.right); } } result.add(list); } return result; } }
|