Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2d54b74

Browse files
authored
feat: add go solution to lc problem: No.0116 (#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)

AltStyle によって変換されたページ (->オリジナル) /