/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func getMinimumDifference(root *TreeNode) int {
res, pre := math.MaxInt, -1
var dfs func(node *TreeNode)
dfs = func(node *TreeNode) {
if node == nil {
return
}
dfs(node.Left)
if pre != -1 {
res = min(node.Val-pre, res)
}
pre = node.Val
dfs(node.Right)
}
dfs(root)
return res
}
func min(x, y int) int {
if x > y {
return y
}
return x
}