[二叉树][中序遍历]leetcode530:二叉搜索树的最小绝对差(easy)
程序员文章站
2022-06-19 11:30:00
...
题目:
题解:
- 利用中序遍历将二叉搜索树转换为一个升序数组,然后遍历这个数组,计算差的绝对值。
代码如下:
class Solution {
public:
//题解:中序遍历求二叉树的数组,然后依次算两个节点差的绝对值
int getMinimumDifference(TreeNode* root) {
vector<int> nums;
inorderTraversal(root,nums);
int n=nums.size();
int res=INT_MAX;
for(int i=1;i<n;++i){
res=min(res,abs(nums[i]-nums[i-1]));
}
return res;
}
void inorderTraversal(TreeNode* root,vector<int>& nums){
if(!root)return;
inorderTraversal(root->left,nums);
nums.push_back(root->val);
inorderTraversal(root->right,nums);
}
};
上一篇: Redis缓存穿透、缓存雪崩问题分析
下一篇: stat