이진 검색 트리(BST)의 root
가 주어졌을 때, 트리에 있는 서로 다른 두 노드의 값 사이의 최소 절대 차이를 반환합니다.
class Solution {
int minDiff;
public int getMinimumDifference(TreeNode root) {
minDiff = Integer.MAX_VALUE;
inorder(root, Integer.MIN_VALUE);
return minDiff;
}
private int inorder(TreeNode root, int prev) {
if (root == null) {
return prev;
}
prev = inorder(root.left, prev);
if (prev != Integer.MIN_VALUE) {
minDiff = Math.min(minDiff, root.val - prev);
}
return inorder(root.right, root.val);
}
}
중위 순회를 이용한다.