File tree Expand file tree Collapse file tree 3 files changed +91
-0
lines changed
solution/0100-0199/0116.Populating Next Right Pointers in Each Node Expand file tree Collapse file tree 3 files changed +91
-0
lines changed Original file line number Diff line number Diff line change @@ -276,6 +276,38 @@ function connect(root: Node | null): Node | null {
276
276
}
277
277
```
278
278
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
+
279
311
### ** ...**
280
312
281
313
```
Original file line number Diff line number Diff line change @@ -260,6 +260,38 @@ function connect(root: Node | null): Node | null {
260
260
}
261
261
```
262
262
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
+
263
295
### ** ...**
264
296
265
297
```
Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments