题目描述
给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。
示例 :
输入: 1 \ 3 / 2 输出: 1 解释: 最小绝对差为1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。
注意: 树中至少有2个节点。
解题思路
class Solution {
public:
vector<int> vect;
void inOrder(TreeNode* root){
if(root == NULL) return;
inOrder(root->left);
vect.push_back(root->val);
inOrder(root->right);
}
int getMinimumDifference(TreeNode* root) {
inOrder(root);
int ans = INT_MAX;
for(int i=1;i<vect.size();i++) ans = min(ans,vect[i]-vect[i-1]);
return ans;
}
};