leetcode230.二叉搜索树中第k小的元素

中序遍历,第k次出现的数值就是结果

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 {
private:
    int dfs(TreeNode* root,int& k){
        if(root==NULL)
            return -1;
        else{
            int result=dfs(root->left,k);
            if(result!=-1)
                return result;
            if(--k==0)
                return root->val;
            return dfs(root->right,k);
        }
    }
public:
    int kthSmallest(TreeNode* root, int k) {
        return dfs(root,k);
    }
};
相关推荐
henyaoyuancc9 分钟前
vla学习 富
人工智能·算法
Gyoku Mint1 小时前
机器学习×第五卷:线性回归入门——她不再模仿,而开始试着理解你
人工智能·python·算法·机器学习·pycharm·回归·线性回归
蒙奇D索大2 小时前
【数据结构】图论最短路径算法深度解析:从BFS基础到全算法综述
数据结构·算法·图论·广度优先·图搜索算法
trouvaille2 小时前
哈希数据结构的增强
算法·go
我不是小upper2 小时前
L1和L2核心区别 !!--part 2
人工智能·深度学习·算法·机器学习
liujing102329293 小时前
Day09_刷题niuke20250609
java·c++·算法
不7夜宵3 小时前
力扣热题100 k个一组反转链表题解
算法·leetcode·链表
蒟蒻小袁4 小时前
力扣面试150题--课程表
算法·leetcode·面试
闻缺陷则喜何志丹4 小时前
【动态规划】B4336 [中山市赛 2023] 永别|普及+
c++·算法·动态规划·洛谷
不二狗5 小时前
每日算法 -【Swift 算法】电话号码字母组合
开发语言·算法·swift