File tree Expand file tree Collapse file tree 2 files changed +44
-0
lines changed Expand file tree Collapse file tree 2 files changed +44
-0
lines changed Original file line number Diff line number Diff line change
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
+ ```
Original file line number Diff line number Diff line change 91
91
92
92
- [ check-if-two-string-arrays-are-equivalent] ( Easy/check-if-two-string-arrays-are-equivalent.md )
93
93
94
+ - [ binary-tree-level-order-traversal-ii] ( Easy/binary-tree-level-order-traversal-ii.md )
95
+
94
96
Medium
95
97
------
96
98
You can’t perform that action at this time.
0 commit comments