这道题考察的是二叉搜索树的遍历,二叉搜索树常用的遍历有前序遍历,中序遍历,后序遍历,其中中序遍历的结果是有序的,
这道题利用的是中序遍历
private int min = int.MaxValue;
int? temp = null;
int GetMinimumDifference(TestMethod.TreeNode head)
{
if (head == null)
return min;
GetMinimumDifference(head.leftNode);
if (temp != null)
{
min = Mathf.Min(min, (int)(head.value-temp));
}
temp = head.value;
GetMinimumDifference(head.rightNode);
return min;
}
另外几道关于BST的算法: