zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 783 二叉搜索树节点最小距离(遍历)

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

    给定一个二叉搜索树的根节点 root,返回树中任意两节点的差的最小值。

    示例:

    输入: root = [4,2,6,1,3,null,null]
    输出: 1
    解释:
    注意,root是树节点对象(TreeNode object),而不是数组。

    给定的树 [4,2,6,1,3,null,null] 可表示为下图:

          4
        /   
      2      6
     /     
    1   3  
    

    最小的差值是 1, 它是节点1和节点2的差值, 也是节点3和节点2的差值。

    注意:

    二叉树的大小范围在 2 到 100。
    二叉树总是有效的,每个节点的值都是整数,且不重复。
    本题与 530:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/ 相同

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        Integer prev = null, ans = Integer.MAX_VALUE;
    
        public int minDiffInBST(TreeNode root) {
            test(root);
            return ans;
        }
    
        public void test(TreeNode treeNode) {
            if (treeNode == null) {
                return;
            }
            test(treeNode.left);
            if (prev != null) {
                ans = Math.min(ans, treeNode.val - prev);
            }
            prev = treeNode.val;
            test(treeNode.right);
        }
    }
    
  • 相关阅读:
    Nginx--sub_filter模块
    Scala学习5 objext
    Scala学习4 Class
    Scala学习3 Map
    Scala学习2 Array、ArrayBuffer
    Scala学习1 基本数据类型,条件,循环
    flink1.9新特性:维表Join解读
    Blink源码编译
    Flink Maven项目兼容多版本Kafka
    Ant build.xml程序简单说明
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074566.html
Copyright © 2011-2022 走看看