package leetCode.week2;
import java.util.ArrayList;
import java.util.List;
public class LeetCode_783_13 {
private List list = new ArrayList();
/**
*
*
*
*
*
*
* O(N + M)
*
* @param root
* @return
*/
public int minDiffInBST(TreeNode root) {
int cur = Integer.MAX_VALUE;
inOrder(root);
for (int i = 1; i < list.size(); i++) {
cur = Math.min(list.get(i) - list.get(i - 1), cur);
}
return cur;
}
private void inOrder(TreeNode node) {
if (node == null) return;
inOrder(node.left);
list.add(node.val);
inOrder(node.right);
}
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
}