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);
    }
};
相关推荐
肾透侧视攻城狮1 小时前
从淘宝推荐到微信搜索:查找算法如何支撑亿级用户——动画可视化
算法·微信
楼田莉子1 小时前
C++算法专题学习:模拟算法
开发语言·c++·学习·算法·leetcode
苏言の狗1 小时前
A*(Astar)算法详解与应用
c语言·c++·算法
李铁柱的2 小时前
数值分析——误差的来源与分类、误差的基本概念(绝对误差、相对误差、有效数字)
人工智能·算法·分类·数据挖掘
蒹葭玉树2 小时前
【C++上岸】C++常见面试题目--算法篇(第十八期)
c++·算法·面试
EkihzniY3 小时前
OCR 发票识别与验真接口:助力电子化发票新时代
算法
一支鱼3 小时前
leetcode-5-最长回文子串
算法·leetcode·typescript
茉莉玫瑰花茶4 小时前
算法 --- 分治(快排)
算法
闪电麦坤954 小时前
数据结构:哈希(Hashing)
数据结构·算法·哈希算法
l1t5 小时前
利用美团longcat.ai编写的C语言支持指定压缩算法通用ZIP压缩程序
c语言·开发语言·人工智能·算法·zip·压缩