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 e1838c4

Browse files
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‎

Lines changed: 29 additions & 3 deletions
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 -->
Lines changed: 27 additions & 0 deletions
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‎

Lines changed: 38 additions & 3 deletions
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 -->
Lines changed: 36 additions & 0 deletions
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)

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