Skip to content

Commit acf1537

Browse files
committed
Add bt level order 2
1 parent 038cfe0 commit acf1537

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
Code
2+
====
3+
4+
```go
5+
/**
6+
* Definition for a binary tree node.
7+
* type TreeNode struct {
8+
* Val int
9+
* Left *TreeNode
10+
* Right *TreeNode
11+
* }
12+
*/
13+
func levelOrderBottom(root *TreeNode) [][]int {
14+
levels := [][]int{}
15+
if root == nil {
16+
return levels
17+
}
18+
19+
levelNodes := []*TreeNode{root}
20+
21+
for len(levelNodes) != 0 {
22+
level := []int{}
23+
nextLevel := []*TreeNode{}
24+
for _, node := range levelNodes {
25+
level = append(level, node.Val)
26+
if node.Left != nil {
27+
nextLevel = append(nextLevel, node.Left)
28+
}
29+
30+
if node.Right != nil {
31+
nextLevel = append(nextLevel, node.Right)
32+
}
33+
}
34+
levelNodes = nextLevel
35+
levels = append(levels, []int{})
36+
copy(levels[1:], levels[:len(levels)-1])
37+
levels[0] = level
38+
}
39+
40+
return levels
41+
}
42+
```

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ Easy
9191

9292
- [check-if-two-string-arrays-are-equivalent](Easy/check-if-two-string-arrays-are-equivalent.md)
9393

94+
- [binary-tree-level-order-traversal-ii](Easy/binary-tree-level-order-traversal-ii.md)
95+
9496
Medium
9597
------
9698

0 commit comments

Comments
 (0)