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);
    }
};
相关推荐
拂拉氏6 分钟前
【知识讲解-题目讲解】 统计满足K约束的子字符串数量2 (滑动窗口+前缀和+二分查找+分析)
算法·前缀和·二分查找·滑动窗口
通信小呆呆5 小时前
电子战抗干扰技术:当“不被干扰”成为一种系统
算法·通信·mimo·isac
笑容掩饰我的失落5 小时前
区块链从小白到精通(八):从零实现一个标准 ERC-20 代币(完整可运行代码)
算法·区块链·php·智能合约·哈希算法
Severus_black5 小时前
【C++初阶】Stack、Queue算法题大练兵!
c语言·c++·算法·stl
2601_967979128 小时前
机器学习必修课:经典算法与Python实战
python·算法·机器学习·实战·课程
程序猿打工仔8 小时前
计算机基础(C语言)考编、专技岗
c语言·开发语言·算法
通信小呆呆8 小时前
电子战干扰技术:从“蛮力压制”到“精准欺骗”,再到“认知博弈”
算法·通信·isac
老师我太想进步了20269 小时前
【数据结构-6】算法美学之单链表(1)
数据结构·算法
希望我万事顺遂10 小时前
力扣hot100-滑动窗口最大值
数据结构·算法·leetcode
꧁细听勿语情꧂10 小时前
二叉树余题,排序、直接插入排序、希尔排序
c语言·开发语言·数据结构·算法