
😎풀이
- Binary Search Tree 특성 상, 부모 노드의 왼쪽 노드는 더 작고 오른쪽 노드는 더 크기 때문에 중위 순회를 통해 노드들의 값을 오름차 순으로 정렬한다
- 정렬된 배열을 탐색하며 노드 간 최소 거리의 차를 확인한다
- 최소 거리의 차를 반환한다.
function minDiffInBST(root: TreeNode | null): number {
const values = []
let minDiff = Infinity
function inOrder(node: TreeNode | null) {
if(!node) return
inOrder(node.left)
values.push(node.val)
inOrder(node.right)
}
inOrder(root)
for(let i = 1; i < values.length; i++) {
const curGap = Math.abs(values[i] - values[i - 1])
minDiff = Math.min(minDiff, curGap)
}
return minDiff
};