Skip to content

Commit 76639ff

Browse files
authored
feat: 102. Binary Tree Level Order Traversal (#89)
Signed-off-by: ashing <[email protected]>
1 parent a3cc870 commit 76639ff

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package _0240214
2+
3+
import "algorithm/template"
4+
5+
type TreeNode = template.TreeNode
6+
7+
func levelOrder(root *TreeNode) [][]int {
8+
res := make([][]int, 0)
9+
if root == nil {
10+
return res
11+
}
12+
13+
queue := []*TreeNode{root}
14+
for len(queue) != 0 {
15+
level := make([]int, 0)
16+
size := len(queue)
17+
for i := 0; i < size; i++ {
18+
node := queue[0]
19+
queue = queue[1:]
20+
level = append(level, node.Val)
21+
if node.Left != nil {
22+
queue = append(queue, node.Left)
23+
}
24+
if node.Right != nil {
25+
queue = append(queue, node.Right)
26+
}
27+
}
28+
res = append(res, level)
29+
}
30+
31+
return res
32+
}

0 commit comments

Comments
 (0)