/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ classSolution{ List<Integer> result = new ArrayList<>();
publicintgetMinimumDifference(TreeNode root){ inOrder(root, result); int minValue = Integer.MAX_VALUE; for (int i = result.size() - 1; i > 0; i--) { int temp = Math.abs(result.get(i) - result.get(i - 1)); if (minValue > temp) { minValue = temp; } } return minValue; }
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ classSolution{ int minValue = Integer.MAX_VALUE; TreeNode preNode = new TreeNode(Integer.MAX_VALUE);
publicintgetMinimumDifference(TreeNode root){
inOrder(root); return minValue; }
voidinOrder(TreeNode node){ if (node == null) return;
inOrder(node.left); int temp = Math.abs(node.val - preNode.val); if (minValue > temp) minValue = temp; preNode = node; inOrder(node.right); } }