package com.shufeng.algorithm.d0_;
/**
* @author gsf
*/
public class LeetCode_783_30 {
public static void main(String[] args) {
TreeNode bst = new TreeNode(4);
bst.left = new TreeNode(2);
bst.right = new TreeNode(6);
bst.left.left = new TreeNode(1);
bst.left.right = new TreeNode(3);
int i = minDiffInBST(bst);
System.out.println(i);
}
public static int minDiffInBST(TreeNode root) {
if (root == null) {
return -1;
}
List list = new ArrayList();
minDiffInBST(root, list);
int num = Integer.MAX_VALUE;
for (int i = 1; i < list.size(); i++) {
num = Math.min(num, list.get(i) - list.get(i - 1));
}
return num;
}
public static void minDiffInBST(TreeNode root, List list) {
if (root == null) {
return;
}
minDiffInBST(root.left, list);
list.add(root.val);
minDiffInBST(root.right, list);
}
}