lc-go/solutions/5/q530/solution.go
2025-12-24 18:51:27 +09:00

37 lines
552 B
Go

package q530
import "math"
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func getMinimumDifference(root *TreeNode) int {
minDiff := math.MaxInt
var last *int
var check = func(num int) {
if last == nil {
last = &num
return
}
minDiff = min(minDiff, num-*last)
*last = num
}
var traverse func(node *TreeNode)
traverse = func(node *TreeNode) {
if node == nil {
return
}
traverse(node.Left)
check(node.Val)
traverse(node.Right)
}
traverse(root)
return minDiff
}
var _ = getMinimumDifference