zoukankan      html  css  js  c++  java
  • 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);
        }
    }

    本文来自博客园,作者:一乐乐,转载请注明原文链接:https://www.cnblogs.com/shan333/p/15709287.html

  • 相关阅读:
    迭代器&可迭代对象
    递归&栈帧空间
    locals()和globals()
    闭包
    nonlocal和global
    LEGB
    python中编码问题
    关于dict的formkeys方法注意
    深浅拷贝
    通过远程连接批量查看zookeeper服务状态和判断主从节点
  • 原文地址:https://www.cnblogs.com/shan333/p/15709287.html
Copyright © 2011-2022 走看看