Minimum Distance Between BST Nodes LeetCode solution in Java

1
/**
2
* Definition for a binary tree node. public class TreeNode { int val; TreeNode left; TreeNode
3
* right; TreeNode() {} TreeNode(int val) { this.val = val; } TreeNode(int val, TreeNode left,
4
* TreeNode right) { this.val = val; this.left = left; this.right = right; } }
5
*/
6
class Solution {
7

8
int mini = Integer.MAX_VALUE;
9

10
public void find(TreeNode root, ArrayList<Integer> arr) {
11

12
if (root == null) {
13
return;
14
}
15

16
arr.add(root.val);
17

18
find(root.left, arr);
19

20
for (int i = arr.size() - 2; i >= 0; i--) {
21

22
mini = Math.min(mini, Math.abs(root.val - arr.get(i)));
23
}
24

25
find(root.right, arr);
26

27
arr.remove(arr.size() - 1);
28
}
29

30
public int minDiffInBST(TreeNode root) {
31
ArrayList<Integer> arr = new ArrayList<>();
32
find(root, arr);
33
return mini;
34
}
35
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0