面试算法-123-二叉搜索树中第K小的元素

news/2024/7/20 21:28:00 标签: 算法, 面试, 深度优先

题目

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

示例 1:
在这里插入图片描述

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

题目

class Solution {
    public int kthSmallest(TreeNode root, int k) {
        dfs(root,k);
        return node.val;
    }

    int count = 0;
    TreeNode node = null;
    public void dfs(TreeNode root, int k){
        if(root == null){
            return;
        }
        
        dfs(root.left,k);
        count++;
        if(count == k){
            node = root;
            return;
        }
        dfs(root.right,k);
    }
}

http://www.niftyadmin.cn/n/5455787.html

相关文章

高效测量“芯”搭档 | ACM32激光测距仪应用方案

激光测距仪概述 激光测距仪是利用激光对目标的距离进行准确测定的仪器。激光测距仪在工作时向目标射出一束很细的激光,由光电元件接收目标反射的激光束,计时器测定激光束从发射到接收的时间,计算出从观测者到目标的距离。激光测距仪分为手持激…

低代码开发:助力企业实现数字化运维体系搭建

随着数字化浪潮的推进,企业对于快速响应市场变化、提升运营效率的需求日益迫切。在这一背景下,低代码开发(Low-Code Development)作为一种新兴的软件开发方法,正逐渐受到企业的青睐。低代码开发不仅简化了开发过程&…

Mac安装wget流程及异常解决(亲测有效)

目录 1.终端输入wget检查自己是否已经安装过wget,没有安装如下图2. 安装brew1)点击brew官网:[官网网址](https://brew.sh)2)将命令粘贴到终端,回车执行3)输入sudo密码4)系统开始自动安装brew,等…

利用python脚本,根据词条爬取百度图片(爬虫)

把广角,换成你的关键词就行 # -*- coding: utf-8 -*- """ Created on Wed Mar 29 10:17:50 2023 author: MatpyMaster """ import requests import os import redef get_images_from_baidu(keyword, page_num, save_dir):header {Us…

【机器学习-08】参数调优宝典:网格搜索与贝叶斯搜索等攻略

超参数是估计器的参数中不能通过学习得到的参数。在scikit-learn中,他们作为参数传递给估计器不同类的构造函数。典型的例子有支持向量分类器的参数C,kernel和gamma,Lasso的参数alpha等。 ​ 在超参数集中搜索以获得最佳cross validation交叉…

ruoyi使用笔记

1.限流处理 RateLimiter PostMapping("/createOrder") ApiOperation("创建充值订单") RateLimiter(key CacheConstants.REPEAT_SUBMIT_KEY,time 10,count 1,limitType LimitType.IP) public R createOrder(RequestBody Form form) {//业务处理return …

03-JavaScript数组

1.通过直接量创建数组 var arr [1, 2, 3, abc, true];console.log(arr); 2.通过构造函数来创建数组 var arr2 new Array("张三", "李四");console.log(arr2);var arr3 new Array(5); //数组长度console.log(arr3);var arr4 new Array(1, 2, 3, "…

解决vue项目三级菜单路由无法缓存问题

解决vue项目三级菜单路由无法缓存问题 之前阅读的《解决vue项目三级菜单路由无法缓存问题》,还没有时间尝试,先做好留存