题目描述
给你二叉树的根节点 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 24 25 26
| func levelOrder(_ root: TreeNode?) -> [[Int]] { guard let root = root else { return [] } var res = [[Int]]() var queue = [root]
while !queue.isEmpty { var length = queue.count var levelRes = [Int]() while length > 0 { let cur = queue.removeFirst() levelRes.append(cur.val) if let left = cur.left { queue.append(left) } if let right = cur.right { queue.append(right) } length -= 1 } res.append(levelRes) } return res }
|