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

LeetCode Hot100 二叉搜索树中第K小的元素

给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 小的元素(从 1 开始计数)。

示例 1:

输入:root = [3,1,4,null,2], k = 1
输出:1

示例 2:

输入:root = [5,3,6,2,4,null,null,1], k = 3
输出:3

思路

        中序遍历

代码

        迭代

class Solution {
public:vector<int> res;inline void dfs(TreeNode* node){if(node == nullptr)return;dfs(node->left);res.push_back(node->val);dfs(node->right);}int kthSmallest(TreeNode* root, int k) {TreeNode* node = root;dfs(node);return res[k-1];}
};

        递归

class Solution {
public:vector<int> res;inline void dfs(TreeNode* node){if(node == nullptr)return;dfs(node->left);res.push_back(node->val);dfs(node->right);}int kthSmallest(TreeNode* root, int k) {TreeNode* node = root;dfs(node);return res[k-1];}
};

http://www.lryc.cn/news/417049.html

相关文章:

  • CBK-D5-安全测试与开发osg15、20、21
  • 期权杠杆与期货杠杆的区别是什么?
  • 数字人解决方案——音频驱动机器人
  • Linux Tcp 连接 状态 检测 处理
  • String respIson = objectMapper.writeValueAsString(response);
  • git squash、merge 、 rebase
  • 案例开发-日程管理2第一期(超详细教程、配备图文和源代码注释,没学过也能看懂)
  • c# 逻辑运算符和条件运算符
  • Linux驱动开发—设备树传递给内核,匹配驱动过程分析
  • 深入理解 Go 语言信号量 Semaphore
  • git——删除远程仓库中的文件或文件夹步骤图解(只是从远程仓库中删除,本地文件不受影响、不会被删除)
  • 详解贪心算法
  • LabVIEW工件表面瑕疵识别系统
  • LabVIEW水下根石监测系统
  • 探索全光网技术 | 全光网络技术方案选型建议三(医院场景)
  • 【C++语言】vector迭代器与常见oj题
  • 高职物联网智慧农业实训室建设方案
  • Pytorch 高效快速加载大规模数据集
  • Spring Boot集成protobuf快速入门Demo
  • SpringBoot+Vue 简单小文章项目开发全过程
  • 如何将发明原理应用于产品设计的概念阶段?
  • 【wsl】wsl + vscode 中使用 typora 打开 markdown 文件
  • AutoDL下huggingface下载模型位置问题
  • SpringBoot基础(一):快速入门
  • 使用Weka进行数据挖掘与机器学习
  • 定时器知识点
  • 桌面日历还能这样玩?这个日历太酷了吧!秒变桌面记事本!
  • 基于深度学习的太阳暗条检测(2020年以来)
  • 【吊打面试官系列-Elasticsearch面试题】Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?
  • MySQL·C/C++访问数据库