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