给定一棵二叉搜索树,请你返回树中任意两节点之差的最小值。
数据范围:二叉树节点数满足
,二叉树的节点值满足
,保证每个节点的值都不同
package main
//import "fmt"
import . "nc_tools"
/*
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return int整型
*/
func minDifference( root *TreeNode ) int {
arr:=[]int{}
var order func(*TreeNode)
order=func(root *TreeNode){
if root==nil{
return
}
order(root.Left)
arr=append(arr,root.Val)
order(root.Right)
}
order(root)
ans:=arr[1]-arr[0]
for i:=1;i<len(arr)-1;i++{
tmp:=arr[i+1]-arr[i]
if tmp<ans{
ans=tmp
}
}
return ans
}