783_二叉搜索树节点最小距离

简介: 783_二叉搜索树节点最小距离

783_二叉搜索树节点最小距离


package 二叉树.二叉搜索树;
/**
 * https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/
 * @author Huangyujun
 *
 */
public class _783_二叉搜索树节点最小距离 {
    //找到二叉树中两个值的差最小(拿到数据~遍历),如何加快拿到“最小的”数据,先将拿到的数据进行排序处理(咱选择升序降序都ok)
    //经过处理(升序)的数据,可以直接两个连续挨着近的数据可能是最小
    //过程的数据要注意一个细节:差,是从拥有了两个数据开始才诞生的,但是遍历一开始才有一个数据,咱需要先记录下来(作为第一个数据,留个下个数据比较操作之类的)
    int ans = 0;
    int pre = 0;
    public int minDiffInBST(TreeNode root) {
        ans = Integer.MAX_VALUE;
        pre = -1;
        inorder(root);
        return ans;
    }
    public void inorder(TreeNode root) {
        if(root == null)    return;
        inorder(root.left);
        //拿到数据,
        if(pre == -1) {
            pre = root.val;
        }else {
            ans = Math.min(ans, root.val - pre);
            pre = root.val;
        }
        inorder(root.right);
    }
}
目录
相关文章
|
12月前
|
索引
【Leetcode -1721.交换链表中的节点 -2058.找出临界点之间的最小和最大距离】
【Leetcode -1721.交换链表中的节点 -2058.找出临界点之间的最小和最大距离】
40 0
26_二叉搜索树的最小绝对差
26_二叉搜索树的最小绝对差
12_二叉树的最小深度
12_二叉树的最小深度
|
4月前
【树 - 平衡二叉树(AVL)】F(n)=F(n-1)+F(n-2)+1 这个类似于一个递归的数列,1是根节点,F(n-1)是左子树的节点数量,F(n-2)是右子树的节点数量
【树 - 平衡二叉树(AVL)】F(n)=F(n-1)+F(n-2)+1 这个类似于一个递归的数列,1是根节点,F(n-1)是左子树的节点数量,F(n-2)是右子树的节点数量
|
人工智能 BI
LeetCode-310 最小高度树
LeetCode-310 最小高度树
|
5月前
|
C++
二叉树的最小深度(C++)
二叉树的最小深度(C++)
30 1
|
5月前
leetcode-5944:从二叉树一个节点到另一个节点每一步的方向
leetcode-5944:从二叉树一个节点到另一个节点每一步的方向
51 0
计算左子树规模(结点个数),找出树的根结点
简单的计算公式教你找出左子树到底有多少个娃,也会与你一起寻找根结点,快来看看呀
计算左子树规模(结点个数),找出树的根结点
|
存储 算法
算法训练Day17|● 104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
算法训练Day17|● 104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
|
算法
【数据结构与算法】二叉树的深度,节点数,第k层的节点数,遍历,二叉树叶节点的个数
【数据结构与算法】二叉树的深度,节点数,第k层的节点数,遍历,二叉树叶节点的个数
220 0