代码随想录 二叉树—二叉搜索树的最小绝对差

**思路:**和上题一样,通过中序遍历成一个由小到大排序的数组,这样再通过for循环将较小值放进result里,最后返回result即可。

c++题解:

cpp 复制代码
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    vector<int> vec;
    void traversal(TreeNode* root)
    {
        if(root==NULL) return;
        traversal(root->left);
        vec.push_back(root->val);
        traversal(root->right);
    }
    int getMinimumDifference(TreeNode* root) {
        traversal(root);
        if(vec.size()<2) return 0;
        int result=INT_MAX;
        for(int i=0;i<vec.size()-1;i++)
        {
            result=min(vec[i+1]-vec[i],result);
        } 
        return result;
    }
};
相关推荐
Savior`L5 小时前
二分算法及常见用法
数据结构·c++·算法
mmz12075 小时前
前缀和问题(c++)
c++·算法·图论
努力学算法的蒟蒻6 小时前
day27(12.7)——leetcode面试经典150
算法·leetcode·面试
甄心爱学习6 小时前
CSP认证 备考(python)
数据结构·python·算法·动态规划
kyle~7 小时前
排序---常用排序算法汇总
数据结构·算法·排序算法
AndrewHZ7 小时前
【遥感图像入门】DEM数据处理核心算法与Python实操指南
图像处理·python·算法·dem·高程数据·遥感图像·差值算法
CoderYanger7 小时前
动态规划算法-子序列问题(数组中不连续的一段):28.摆动序列
java·算法·leetcode·动态规划·1024程序员节
有时间要学习8 小时前
面试150——第二周
数据结构·算法·leetcode
freedom_1024_8 小时前
红黑树底层原理拆解
开发语言·数据结构·b树