LeetCode 783. 二叉搜索树节点最小距离
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。
注意:本题与 530:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/ 相同
示例 1:
输入:root = [4,2,6,1,3]
输出:1
示例 2:
输入:root = [1,0,48,null,null,12,49]
输出:1
提示:
1)树中节点数目在范围 [2, 100] 内
2)0 <= Node.val <= 105
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
/**
* Definition for a binary tree node.
* public class TreeNode {
* public int val;
* public TreeNode left;
* public TreeNode right;
* public TreeNode(int val=0, TreeNode left=null, TreeNode right=null) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
public class Solution {
public int MinDiffInBST(TreeNode root)
{
var min=0x7fffffff;
ArrayList num=new ArrayList();
bianli(root);
int[] i=new int[num.Count];
num.CopyTo(i, 0);
for(var a=0;a<num.Count;a++)
{
for(var b=0;b<num.Count;b++)
{
if((i[a]-i[b])>=0&&a!=b)
{
if(min>(i[a]-i[b]))
min=(i[a]-i[b]);
}
}
}
return min;
void bianli(TreeNode node)
{
if(node==null)
return;
num.Add(node.val);
bianli(node.left);
bianli(node.right);
}
}
}