var pre int = 0 var ini bool = false /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func getMinimumDifference(root *TreeNode) (diff int) { pre, diff = 0, 1<<32-1 ini = false inorder(root, &diff) return } func inorder(root *TreeNode, diff *int) { if root == nil { return } inorder(root.Left, diff) if ini { d := abs(root.Val - pre) if d < *diff { *diff = d } } else { ini = true } pre = root.Val inorder(root.Right, diff) } func abs(x int) int { if x < 0 { return -x } return x }