Skip to content

Commit e1838c4

Browse files
committed
feature: add golang solution for leetcode 530 && 783
1 parent f70a316 commit e1838c4

File tree

4 files changed

+130
-6
lines changed

4 files changed

+130
-6
lines changed

solution/0500-0599/0530.Minimum Absolute Difference in BST/README.md

+29-3
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,35 @@
5656

5757
```
5858

59-
### **...**
60-
```
61-
59+
### **Go**
60+
```go
61+
var res int
62+
var preNode *TreeNode
63+
func getMinimumDifference(root *TreeNode) int {
64+
res = int(^uint(0) >> 1)
65+
preNode = nil
66+
helper(root)
67+
return res
68+
}
69+
70+
func helper(root *TreeNode) {
71+
if root == nil {
72+
return
73+
}
74+
helper(root.Left)
75+
if preNode != nil {
76+
res = getMinInt(res, root.Val - preNode.Val)
77+
}
78+
preNode = root
79+
helper(root.Right)
80+
}
81+
82+
func getMinInt(a,b int) int {
83+
if a < b {
84+
return a
85+
}
86+
return b
87+
}
6288
```
6389

6490
<!-- tabs:end -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
var res int
2+
var preNode *TreeNode
3+
func getMinimumDifference(root *TreeNode) int {
4+
res = int(^uint(0) >> 1)
5+
preNode = nil
6+
helper(root)
7+
return res
8+
}
9+
10+
func helper(root *TreeNode) {
11+
if root == nil {
12+
return
13+
}
14+
helper(root.Left)
15+
if preNode != nil {
16+
res = getMinInt(res, root.Val - preNode.Val)
17+
}
18+
preNode = root
19+
helper(root.Right)
20+
}
21+
22+
func getMinInt(a,b int) int {
23+
if a < b {
24+
return a
25+
}
26+
return b
27+
}

solution/0700-0799/0783.Minimum Distance Between BST Nodes/README.md

+38-3
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,44 @@
5757

5858
```
5959

60-
### **...**
61-
```
62-
60+
### **Go**
61+
```go
62+
/**
63+
* Definition for a binary tree node.
64+
* type TreeNode struct {
65+
* Val int
66+
* Left *TreeNode
67+
* Right *TreeNode
68+
* }
69+
*/
70+
71+
var res int
72+
var preNode *TreeNode
73+
func minDiffInBST(root *TreeNode) int {
74+
res = int(^uint(0) >> 1)
75+
preNode = nil
76+
helper(root)
77+
return res
78+
}
79+
80+
func helper(root *TreeNode) {
81+
if root == nil {
82+
return
83+
}
84+
helper(root.Left)
85+
if preNode != nil {
86+
res = getMinInt(res, root.Val - preNode.Val)
87+
}
88+
preNode = root
89+
helper(root.Right)
90+
}
91+
92+
func getMinInt(a,b int) int {
93+
if a < b {
94+
return a
95+
}
96+
return b
97+
}
6398
```
6499

65100
<!-- tabs:end -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* type TreeNode struct {
4+
* Val int
5+
* Left *TreeNode
6+
* Right *TreeNode
7+
* }
8+
*/
9+
10+
var res int
11+
var preNode *TreeNode
12+
func minDiffInBST(root *TreeNode) int {
13+
res = int(^uint(0) >> 1)
14+
preNode = nil
15+
helper(root)
16+
return res
17+
}
18+
19+
func helper(root *TreeNode) {
20+
if root == nil {
21+
return
22+
}
23+
helper(root.Left)
24+
if preNode != nil {
25+
res = getMinInt(res, root.Val - preNode.Val)
26+
}
27+
preNode = root
28+
helper(root.Right)
29+
}
30+
31+
func getMinInt(a,b int) int {
32+
if a < b {
33+
return a
34+
}
35+
return b
36+
}

0 commit comments

Comments
 (0)