# 530. Minimum Absolute Difference in BST

xiaoxiao2021-03-26  4

//本文内容来自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%左右。