Skip to content

Commit ae26ea4

Browse files
author
legolas.zhan
committed
117. only use constant extra space
1 parent 12e2ab5 commit ae26ea4

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

leetcode/others/connect.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)