[leetcode] 530. Minimum Absolute Difference in BST
阿新 • • 發佈:2018-12-09
題目:
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; } * } */ class Solution { public List<Integer> list = new ArrayList<>(); public void inorder(TreeNode root){ if(root == null) return; inorder(root.left); list.add(root.val); inorder(root.right); } public int getMinimumDifference(TreeNode root) { inorder(root); int diff = Integer.MAX_VALUE; for(int i = 1; i < list.size(); i++){ if(list.get(i) - list.get(i-1) < diff) diff = list.get(i) - list.get(i-1); } return diff; } }