力扣链接:530.二叉搜索树的最小绝对查
难度:⭐
解题关键词:二叉搜索树
、中序遍历
解题思路:二叉搜索树使用中序遍历就是单调递增增的,我们不断计算差值更新最小绝对差就可以。
typescript
function getMinimumDifference(root: TreeNode | null): number {
// 保存前一个节点的值,开始设置为 -1
let pre = -1
// 将结果首先设置为最大
let result = Number.MAX_SAFE_INTEGER
// 深度遍历
const dfs = (root: TreeNode) => {
if (root === null) return
// 左
dfs(root.left)
// 如果不是第一个节点,我们就更新最小叉值
// 如果第一个我们就找最小值,假设将 pre 设置为 0,那么最小绝对差一直就是 0
if (pre !== -1) {
result = Math.min(result, root.val - pre)
}
// 前一个节点往前走
pre = root.val
// 右
dfs(root.right)
}
// 开始深度遍历
dfs(root)
return result
};