mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-10 04:06:51 +08:00
增加 0530.二叉搜索树的最小绝对差 go版 (中序遍历的同时计算最小值,不用额外的存储空间)
中序遍历的同时计算最小值,不用额外的存储空间
This commit is contained in:
@ -255,6 +255,29 @@ func findMIn(root *TreeNode,res *[]int){
|
||||
findMIn(root.Right,res)
|
||||
}
|
||||
```
|
||||
```go
|
||||
// 中序遍历的同时计算最小值
|
||||
func getMinimumDifference(root *TreeNode) int {
|
||||
// 保留前一个节点的指针
|
||||
var prev *TreeNode
|
||||
// 定义一个比较大的值
|
||||
min := math.MaxInt64
|
||||
var travel func(node *TreeNode)
|
||||
travel = func(node *TreeNode) {
|
||||
if node == nil {
|
||||
return
|
||||
}
|
||||
travel(node.Left)
|
||||
if prev != nil && node.Val - prev.Val < min {
|
||||
min = node.Val - prev.Val
|
||||
}
|
||||
prev = node
|
||||
travel(node.Right)
|
||||
}
|
||||
travel(root)
|
||||
return min
|
||||
}
|
||||
```
|
||||
|
||||
JavaScript版本
|
||||
|
||||
|
Reference in New Issue
Block a user