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

【专题二 二叉树中的深搜】230. 二叉搜索树中第K小的元素

1.题目解析

2.讲解算法原理 

         首先抓住二叉搜索树中序遍历是一个有序序列,第k大的数字,是将遍历的结果找到第k个,这时如果采用全局变量会更加容易,设置两个全局变量count和ret。其中count用来存储是第几个小的数字,而ret则用来存储这个数的数值。

        出口条件是,一旦root为空或者count==0时,返回。

3.编写代码

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public int count;
    public int ret;
    public int kthSmallest(TreeNode root, int k) {
        count=k;
        dfs(root);
        return ret;
       
    }
    public void dfs(TreeNode root){
     if(root==null){
        return;
     }
     dfs(root.left);
     if(count==0){
        return;
     }else{
        count--;
        ret=root.val;
     }
      dfs(root.right);
    }
     
       

}


http://www.kler.cn/a/510641.html

相关文章:

  • Python制作简易PDF查看工具PDFViewerV1.0
  • LabVIEW串口通信调试与数据接收问题
  • 计算机网络 (41)文件传送协议
  • Chrome谷歌浏览器如何能恢复到之前的旧版本
  • 【从0带做】基于Springboot3+Vue3的心理健康预约平台
  • Power Automate 实现字符串分割、替换、换行显示
  • 微软宣布Win11 24H2进入新阶段!设备将自动下载更新
  • pycharm python pyqt5
  • 豪越科技消防一体化安全管控平台:推动消防作训模式智慧转型
  • Liunx搭建KVM私有虚拟主机
  • MarsCode青训营打卡Day6(2025年1月19日)|稀土掘金-360.可被K整除的子数组问题
  • postcss插件-实现vw适配
  • C#,入门教程(02)—— Visual Studio 2022开发环境搭建图文教程
  • 寒假1.19
  • 国产编辑器EverEdit - 合并行
  • 基于STM32单片机火灾安全监测一氧化碳火灾
  • linux制作自定义service服务单元
  • 算法-数组拆分
  • 解锁Web数据存储:浏览器数据库 IndexedDB
  • AI守护煤矿安全生产:基于视频智能的煤矿管理系统架构全解析
  • Java操作Excel导入导出——POI、Hutool、EasyExcel
  • 【机器学习:三十、异常检测:原理与实践】
  • C#项目生成时提示缺少引用
  • Ghauri -跨平台自动检测和SQL注入
  • 【JAVA项目】基于ssm的【游戏美术外包管理信息系统】
  • Mixly米思齐1.0 2.0 3.0 软件windows版本MAC苹果电脑系统安装使用常见问题与解决