|
6 | 6 | import java.util.TreeSet; |
7 | 7 |
|
8 | 8 | /** |
| 9 | + * 530. Minimum Absolute Difference in BST |
| 10 | + * |
9 | 11 | * Given a binary search tree with non-negative values, find the minimum absolute difference between values of any two nodes. |
10 | 12 |
|
11 | 13 | Example: |
|
27 | 29 | */ |
28 | 30 | public class _530 { |
29 | 31 |
|
30 | | - public int getMinimumDifference(TreeNode root) { |
31 | | - TreeSet<Integer> treeset = new TreeSet<>(); |
32 | | - treeset.add(root.val); |
33 | | - dfs(root, treeset); |
34 | | - int diff = Integer.MAX_VALUE; |
35 | | - Iterator<Integer> iterator = treeset.iterator(); |
36 | | - int prev = iterator.next(); |
37 | | - while (iterator.hasNext()) { |
38 | | - int current = iterator.next(); |
39 | | - diff = Math.min(diff, Math.abs(current - prev)); |
40 | | - prev = current; |
| 32 | + public static class Solution1 { |
| 33 | + public int getMinimumDifference(TreeNode root) { |
| 34 | + TreeSet<Integer> treeset = new TreeSet<>(); |
| 35 | + treeset.add(root.val); |
| 36 | + dfs(root, treeset); |
| 37 | + int diff = Integer.MAX_VALUE; |
| 38 | + Iterator<Integer> iterator = treeset.iterator(); |
| 39 | + int prev = iterator.next(); |
| 40 | + while (iterator.hasNext()) { |
| 41 | + int current = iterator.next(); |
| 42 | + diff = Math.min(diff, Math.abs(current - prev)); |
| 43 | + prev = current; |
| 44 | + } |
| 45 | + return diff; |
41 | 46 | } |
42 | | - return diff; |
43 | | - } |
44 | 47 |
|
45 | | - private void dfs(TreeNode root, TreeSet<Integer> treeset) { |
46 | | - if (root.left != null) { |
47 | | - treeset.add(root.left.val); |
48 | | - dfs(root.left, treeset); |
49 | | - } |
50 | | - if (root.right != null) { |
51 | | - treeset.add(root.right.val); |
52 | | - dfs(root.right, treeset); |
| 48 | + private void dfs(TreeNode root, TreeSet<Integer> treeset) { |
| 49 | + if (root.left != null) { |
| 50 | + treeset.add(root.left.val); |
| 51 | + dfs(root.left, treeset); |
| 52 | + } |
| 53 | + if (root.right != null) { |
| 54 | + treeset.add(root.right.val); |
| 55 | + dfs(root.right, treeset); |
| 56 | + } |
53 | 57 | } |
54 | 58 | } |
55 | 59 | } |
0 commit comments