File tree Expand file tree Collapse file tree 1 file changed +11
-11
lines changed Expand file tree Collapse file tree 1 file changed +11
-11
lines changed Original file line number Diff line number Diff line change @@ -12,23 +12,23 @@ func connect(root *Node) *Node {
1212 return nil
1313 }
1414
15- queue := []* Node {root }
16- for len (queue ) > 0 {
17- levelSize := len (queue )
18- for i := 0 ; i < levelSize ; i ++ {
19- node := queue [i ]
20- if i < levelSize - 1 {
21- node .Next = queue [i + 1 ]
22- }
15+ current := root
16+ for current != nil {
17+ dummy := & Node {}
18+ tail := dummy
2319
20+ for node := current ; node != nil ; node = node .Next {
2421 if node .Left != nil {
25- queue = append (queue , node .Left )
22+ tail .Next = node .Left
23+ tail = tail .Next
2624 }
2725 if node .Right != nil {
28- queue = append (queue , node .Right )
26+ tail .Next = node .Right
27+ tail = tail .Next
2928 }
3029 }
31- queue = queue [ levelSize :]
30+ current = dummy . Next
3231 }
32+
3333 return root
3434}
You can’t perform that action at this time.
0 commit comments