zoukankan      html  css  js  c++  java
  • 530.Minimum Absolute Difference in BST 二叉搜索树中的最小差的绝对值

    Given a binary search tree with non-negative values, find the minimum absolute difference between values of any two nodes.

    Example:

    Input:
    
       1
        
         3
        /
       2
    
    Output:
    1
    
    Explanation:
    The minimum absolute difference is 1, which is the difference between 2 and 1 (or between 2 and 3).
    

     

    复习了还是不会的地方:不知道怎么遍历left right的每一个节点。
    其实就指定一下root = prev就行了,dfs遍历的过程会自动遍历到每个节点

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        int min = Integer.MAX_VALUE;
        TreeNode prev = null;
        
        public int getMinimumDifference(TreeNode root) {
            //corner case
            if (root == null) {
                return min;
            }
            //in-order traversal
            getMinimumDifference(root.left);
            if (prev != null) {//only deletable if not null
                min = Math.min(min, root.val - prev.val);
            }
            //refresh the prev
            prev = root;
            getMinimumDifference(root.right);
            //return
            return min;
        }
    }
     
  • 相关阅读:
    HRBUST--2317 Game(完全背包)
    k8s的回滚应用
    python练习-2
    k8s HA 补充-(keepalived+haproxy配置)
    Etcd故障恢复记录
    kubernetes 1.14安装部署helm插件
    k8s Prometheus+CAdvisor+node_export+grafana
    k8s ingress部署
    k8s pvc
    k8s pv
  • 原文地址:https://www.cnblogs.com/immiao0319/p/14980037.html
Copyright © 2011-2022 走看看