leetcode 783.二叉搜索树节点最小距离
题干
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。
示例 1:
输入:root = [4,2,6,1,3]
输出:1
示例 2:
输入:root = [1,0,48,null,null,12,49]
输出:1
提示:
树中节点数目在范围 [2, 100] 内
0 <= Node.val <= 105
知识点&算法
二叉搜索树具有中序遍历有序的性质,所以二叉搜索树中节点的最小距离一定出现在中序遍历中相邻的两个节点间。
因此我们直接对BST进行中序遍历,将元素存入数组,然后遍历数组,取出最小相邻元素之差即可。
*因为递归法中序遍历时具有先后顺序的节点不一定在中序遍历中也具有相同的顺序,所以直接把差值比较卸载递归函数里比较难实现
题解
class Solution {
public:
int nodes