当前位置: 首页 > news >正文

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

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

/**
 * 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);
    }
};

 

http://www.dtcms.com/a/97361.html

相关文章:

  • C# 固高板卡(总线型) 操作类
  • C++指针(五)完结篇
  • 19 python 模块
  • 【数据结构】C语言实现并查集:双亲指针映射与动态连通性实现详解
  • stable diffusion 本地部署教程 2025最新版
  • Docker 存储管理那些事儿:简单易懂的讲解与实践示例
  • Codeforces 1011 (Div. 2)A. Serval and String Theory
  • vue+webpack5(高级配置)
  • fluent_UDF学习笔记
  • 进程间通信——信号量
  • git 如何统计还尚未合并完成的文件
  • UE4学习笔记 FPS游戏制作31 显示计分板
  • flex和bison笔记
  • 2025最新“科研创新与智能化转型“暨AI智能体开发与大语言模型的本地化部署、优化技术实践
  • 【MySQL基础-14】MySQL的INSERT语句详解:高效数据插入的艺术
  • 数据特征的判断
  • 机器学习算法
  • mysql不能远程访问可能有哪些原因,及如何解决
  • ubuntu 创建新用户
  • 权值线段树算法讲解及例题
  • 性能测试理论基础-测试流程及方案设计要点
  • 内联函数/函数重载/函数参数缺省
  • 211 本硕研三,已拿 C++ 桌面应用研发 offer,计划转音视频或嵌入式如何规划学习路线?
  • 前端框架入门:Angular
  • Flutter中实现拍照识题的功能
  • Starrocks架构及如何选择
  • 60V单通道高精度线性恒流LED驱动器防60V反接SOD123封装
  • 智能物流调度:AI如何让快递更快更省?
  • 04-SpringBoot3入门-配置文件(多环境配置)
  • Android 设备实现 adb connect 连接的步骤