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

**思路:**和上题一样,通过中序遍历成一个由小到大排序的数组,这样再通过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;
    }
};
相关推荐
lintax10 小时前
计算pi值-积分法
python·算法·计算π·积分法
你的冰西瓜10 小时前
C++ STL算法——排序和相关操作
开发语言·c++·算法·stl
今儿敲了吗11 小时前
29| 高考志愿
c++·笔记·学习·算法
识君啊11 小时前
Java 二叉树从入门到精通-遍历与递归详解
java·算法·leetcode·二叉树·深度优先·广度优先
浅念-11 小时前
C++ 模板进阶
开发语言·数据结构·c++·经验分享·笔记·学习·模版
紫陌涵光12 小时前
77. 组合
c++·算法·leetcode·深度优先
小汉堡编程12 小时前
LeekCode第3767题选择K个任务的最大总分:详细思考过程幽默解析 专门为小白准备
算法·leetcode·贪心算法·编程·小白专用教程
小白菜又菜12 小时前
Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
python·算法·leetcode
We་ct12 小时前
LeetCode 222. 完全二叉树的节点个数:两种解法详解(BFS + 二分查找优化)
数据结构·算法·leetcode·typescript
小白菜又菜12 小时前
Leetcode 234. Palindrome Linked List
python·算法·leetcode