Skip to content

Commit 2d54b74

Browse files
authored
feat: add go solution to lc problem: No.0116 (doocs#843)
No.0116.Populating Next Right Pointers in Each Node
1 parent 95e9936 commit 2d54b74

File tree

3 files changed

+91
-0
lines changed

3 files changed

+91
-0
lines changed

solution/0100-0199/0116.Populating Next Right Pointers in Each Node/README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,38 @@ function connect(root: Node | null): Node | null {
276276
}
277277
```
278278

279+
### **Go**
280+
281+
```go
282+
/**
283+
* Definition for a Node.
284+
* type Node struct {
285+
* Val int
286+
* Left *Node
287+
* Right *Node
288+
* Next *Node
289+
* }
290+
*/
291+
292+
func connect(root *Node) *Node {
293+
if root == nil {
294+
return root
295+
}
296+
traversal(root.Left, root.Right)
297+
return root
298+
}
299+
300+
func traversal(left, right *Node) {
301+
if left == nil || right == nil {
302+
return
303+
}
304+
left.Next = right
305+
traversal(left.Left, left.Right)
306+
traversal(left.Right, right.Left)
307+
traversal(right.Left, right.Right)
308+
}
309+
```
310+
279311
### **...**
280312

281313
```

solution/0100-0199/0116.Populating Next Right Pointers in Each Node/README_EN.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,38 @@ function connect(root: Node | null): Node | null {
260260
}
261261
```
262262

263+
### **Go**
264+
265+
```go
266+
/**
267+
* Definition for a Node.
268+
* type Node struct {
269+
* Val int
270+
* Left *Node
271+
* Right *Node
272+
* Next *Node
273+
* }
274+
*/
275+
276+
func connect(root *Node) *Node {
277+
if root == nil {
278+
return root
279+
}
280+
traversal(root.Left, root.Right)
281+
return root
282+
}
283+
284+
func traversal(left, right *Node) {
285+
if left == nil || right == nil {
286+
return
287+
}
288+
left.Next = right
289+
traversal(left.Left, left.Right)
290+
traversal(left.Right, right.Left)
291+
traversal(right.Left, right.Right)
292+
}
293+
```
294+
263295
### **...**
264296

265297
```
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* Definition for a Node.
3+
* type Node struct {
4+
* Val int
5+
* Left *Node
6+
* Right *Node
7+
* Next *Node
8+
* }
9+
*/
10+
11+
func connect(root *Node) *Node {
12+
if root == nil {
13+
return root
14+
}
15+
traversal(root.Left, root.Right)
16+
return root
17+
}
18+
19+
func traversal(left, right *Node) {
20+
if left == nil || right == nil {
21+
return
22+
}
23+
left.Next = right
24+
traversal(left.Left, left.Right)
25+
traversal(left.Right, right.Left)
26+
traversal(right.Left, right.Right)
27+
}

0 commit comments

Comments
 (0)