530. Minimum Absolute Difference in BST

    xiaoxiao2021-03-26  17

    //本文内容来自StarSight,欢迎访问。

    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).

    Note: There are at least two nodes in this BST.

    /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public int getMinimumDifference(TreeNode root) { List<Integer> list = new ArrayList<>(); array(root,list); int gap = 65535,temp; for(int i=0;i<list.size()-1;i++){ temp = list.get(i+1)-list.get(i); if(gap>temp) gap = temp; } return gap; } public void array(TreeNode root , List<Integer> list){ if(root.left!=null){ array(root.left,list); } list.add(root.val); if(root.right!=null){ array(root.right,list); } } }

    常规题,二叉搜索树。

    运行时间20ms,50%左右。

    转载请注明原文地址: https://ju.6miu.com/read-500339.html

    最新回复(0)