10000 增加 0530.二叉搜索树的最小绝对差 go版 (中序遍历的同时计算最小值,不用额外的存储空间) · lee4code/leetcode-master@011b0cc · GitHub
[go: up one dir, main page]

Skip to content

Commit 011b0cc

Browse files
author
NevS
authored
增加 0530.二叉搜索树的最小绝对差 go版 (中序遍历的同时计算最小值,不用额外的存储空间)
中序遍历的同时计算最小值,不用额外的存储空间
1 parent f940012 commit 011b0cc

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

problems/0530.二叉搜索树的最小绝对差.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,29 @@ func findMIn(root *TreeNode,res *[]int){
255255
findMIn(root.Right,res)
256256
}
257257
```
258+
```go
259+
// 中序遍历的同时计算最小值
260+
func getMinimumDifference(root *TreeNode) int {
261+
// 保留前一个节点的指针
262+
var prev *TreeNode
263+
// 定义一个比较大的值
264+
min := math.MaxInt64
265+
var travel func(node *TreeNode)
266+
travel = func(node *TreeNode) {
267+
if node == nil {
268+
return
269+
}
270+
travel(node.Left)
271+
if prev != nil && node.Val - prev.Val < min {
272+
min = node.Val - prev.Val
273+
}
274+
prev = node
275+
travel(node.Right)
276+
}
277+
travel(root)
278+
return min
279+
}
280+
```
258281

259282
JavaScript版本
260283

0 commit comments

Comments
 (0)
0