每日一题之LeetCode 783.二叉搜索树节点最小距离
¶一、题解
题目大意:
求一个二叉搜索树任意两个节点数的差值的最小值!
思路:
我们知道,二叉搜索树的中序遍历就是一个单调序列!
因此我们可以在中序遍历的同时保存上一个节点的值,然后每次比较相邻两个数的差值即可!
处理相邻的一定是最优的,非相邻节点的差值一定比相邻节点的差值要大!
具体:
- 只要不是第一个遍历的节点,我们就可保存的上一个节点做一个差值,然后取一个最值即可
- 要注意,保存上一个节点的一定要在取过最值之后再保存!
时间复杂度: O(n)
空间复杂度: O(h)
¶二、AC代码
参考代码:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小牛博客!
评论