增加 0530.二叉搜索树的最小绝对差 go版 (中序遍历的同时计算最小值,不用额外的存储空间)

中序遍历的同时计算最小值,不用额外的存储空间
This commit is contained in:
NevS
2021-06-29 21:55:02 +08:00
committed by GitHub
parent f940012ad3
commit 011b0cc6fd

View File

@ -255,6 +255,29 @@ func findMIn(root *TreeNode,res *[]int){
findMIn(root.Right,res) 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版本 JavaScript版本