230. Kth Smallest Element in a BST

极智AI | 谈谈为什么卷积加速更喜欢 NHWC Layout 本文主要讨论一下为什么卷积加速更加喜欢 NHWC 的数据排布。 阅读详情

1. 原题

Given a binary search tree, write a function kthSmallest to find the kth smallest element in it.

Note:
You may assume k is always valid, 1 ≤ k ≤ BST’s total element.

2. 分析

  • 题目要求找出宽度优先树中的第K小的树。
  • 在没有这棵树的数据的情况下不知道哪些数是存在的, 所以要确定第K个树, 必须要遍历一遍树。得到所有数之后排序就可以得到第K小的数了
  • 宽度优先和深度优先的遍历都有规律可循, 分别判断根, 坐子树和右子树, 基本普通的遍历都是这个模式, 需要考虑的是退出情况还有传参的方式, 这里使用引用传参比较方便
 if (root != NULL){
            nums.push_back(root->val);
        }
        if (root->left != NULL) getNums(root->left, nums);
        if (root->right != NULL) getNums(root->right, nums);
}

3.代码

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    void getNums(TreeNode* root, vector<int>& nums){
        if (root != NULL){
            nums.push_back(root->val);
        }
        if (root->left != NULL) getNums(root->left, nums);
        if (root->right != NULL) getNums(root->right, nums);
    }
    int kthSmallest(TreeNode* root, int k) {
        vector<int> nums;
        int len = nums.size();
        getNums(root, nums);
        sort(nums.begin(), nums.end());
        return nums[k-1];
    }
};
DSShop移动商城网店系统 反序列化RCE漏洞复现 DSShop单店铺移动商城网店系统的getCartList方法的cart参数存在php反序列化漏洞,攻击者可以通过漏洞执行任意代码,获取服务器权限。 阅读详情

相关推荐

案例分析|一篇文章带你看懂养鸡场智慧管理系统

养鸡场智慧管理系统是为了满足现代化养鸡业对精细化管理的需求而设计的一款专业软件。随着科技的发展和农业产业的升级,传统的手工记录和管理方式已无法满足高效、准确和实时的数据跟踪需求。本软件旨在通过集成各种功能模块,帮助养鸡场主实现从鸡苗孵化、饲养管理、饲料控制到销售结算等全链条的智能化操作。该系统的核心目标是提升养鸡场的运营效率和盈利能力,通过自动化数据处理,减少人工误差,节省时间和精力。例如,孵化报表和记录模块可以帮助管理者实时监控孵化过程,及时调整策略;

muyu2980的专栏 930

leetcode 230: Kth Smallest Element in a BST

leetcode 230: Kth Smallest Element in a BST python java c++

西施豆腐渣 1万+

PYNQ-Z2 开发板从镜像烧录到 Jupyter 交互全流程指南

本文详细介绍了PYNQ-Z2开发板从镜像烧录到Jupyter交互的全流程指南,包括硬件解析、镜像烧录技巧、设备启动与网络配置、Jupyter Notebook深度使用以及实战案例分享。通过具体步骤和实用技巧,帮助开发者快速上手PYNQ-Z2开发板,实现高效的FPGA开发和智能家居控制应用。

weixin_28736355的博客 438

LeetCode 230: Kth Smallest Element in a BST

Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Note: You may assume k is always valid, 1 ≤ k ≤ BST's total elements. Follow up: What if the BST

哈哈的个人专栏 6963

智能座舱测试工程师必看:从零搭建自动化测试框架的5个实战技巧

本文为智能座舱测试工程师提供从零搭建自动化测试框架的5个实战技巧,涵盖环境搭建、ADB高级应用、Python脚本工程化、Monkey测试优化及性能调优。通过ADB深度操作和Python脚本封装,帮助测试人员构建高可复用的智能座舱测试解决方案,显著提升测试效率与问题发现率。

python9snake的博客 631

TI C2000 , .cmd文件,.TI.ramfunc,将程序分配为在RAM中运行/Flash运行的配置方法和原理讲解,(如28375S ,280049,28335等等芯片)

1 基础知识讲解 1.1 在RAM中运行还是在flash中运行指的是什么? 1.1.1 背景:程序编译完之后生成的.bin文件,.bin文件中包含代码段,代码段中全是汇编指令,而汇编指令中包含多个函数,各函数头的地址不同,如存在A函数和B函数,假设RAM地址区间是0x0000-0x8000,flash的地址区间是0xA000-0xF000,A函数要调用B函数,则A函数调用B函数的那段汇编指令中包含的是B函数头的存储地址,A函数和B函数都在flash中有存储 1.1.2 情况1:B函数是配置为在RAM中运行,

weixin_43776284的博客 8065

230. Kth Smallest Element in a BST**

230. Kth Smallest Element in a BST** https://leetcode.com/problems/kth-smallest-element-in-a-bst/ 题目描述 Given a binary search tree, write a function kthSmallest to find the kthsmallest element in it. N...

珍妮的选择的博客 321

ANSYS Products19.1下载及安装教程

ANSYS Products19.1下载及安装破解教程 前言 ANSYS软件是美国ANSYS公司研制的大型通用有限元分析(FEA)软件,是世界范围内增长最快的计算机辅助工程(CAE)软件,能与多数计算机辅助设计(CAD,computer Aided design)软件接口,实现数据的共享和交换,如Creo, NASTRAN、Algor、I-DEAS、AutoCAD等。ansys project包括一整套的软件集合,它耦合了CFD模型的前处理,求解器和后处理所需要的相关软件,特比是它的workbench模块,

Mekeater的博客 2万+

LeetCode 230. Kth Smallest Element in a BST

LeetCode 230. Kth Smallest Element in a BST (Medium) 主要知识点:树、BST、迭代inorder;优先级:3

温迪今天刷题了吗 314

Android 17为什么会重写MessageQueue

DeliQueue 通过消除 MessageQueue 中的锁,提升了系统和应用的性能。合成基准测试: 得益于并发能力的提升(Treiber 栈)和更快的插入速度(最小堆),向繁忙队列进行多线程插入的速度比传统 MessageQueue 快了高达 5000 倍。Perfetto 追踪分析: 在从内部测试人员处获取的 Perfetto 追踪记录中,我们看到应用主线程在锁竞争上消耗的时间减少了 15%。

xiangzhihong8的专栏 269

Unity中实现俄罗斯方块

二:实现思路 ——创建每一个方块可移动到的位置点,可以理解为创建一个游戏地图,从(0,0)点开始依次向x轴和y轴延伸,例如x最大为9,y最大为19,则创建了一个20行10列的地图 ——制作每一个形状的预制体,Shape是每一个整体形状,Block是每一块小方块,CenterPos代表这个形状的旋转中心 ——创建GameController脚本控制游戏逻辑,挂载到面板物体上。创建Block脚本控制每个形状的操作,挂载到每个形状上 ——在GameController脚本中编...

L的博客 8557

[leetcode 230]Kth Smallest Element in a BST

Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Note:  You may assume k is always valid, 1 ≤ k ≤ BST's total elements. Follow up: What if the

ER_Plough的专栏 834

使用STM32H7点亮RGB屏幕

希望本文能对你有所帮助!RGB屏幕是一种具有红、绿、蓝三种颜色通道的显示设备,通过控制每个通道的亮度,可以显示出丰富多彩的图像和动画。要使用STM32H7控制RGB屏幕,我们需要连接适当的引脚,并编写适当的代码来控制每个颜色通道的亮度。在主循环中,我们先点亮红色通道,然后延迟一段时间,接着点亮绿色通道,再延迟一段时间,最后点亮蓝色通道,并再次延迟。需要注意的是,示例代码中的延迟循环使用了一个简单的计数器实现,但实际应用中可能需要更精确的延迟方式,例如使用定时器中断或操作系统提供的延迟函数。

QoyOle的博客 923

【leetcode】230. Kth Smallest Element in a BST

一、题目描述 Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Note:  You may assume k is always valid, 1 ≤ k ≤ BST's total elements. Follow up:

小拳头的博客 397

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Leetcode 230. Kth Smallest Element in a BST

Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Note:  You may assume k is always valid, 1 ≤ k ≤ BST's total elements. Follow up: What if the

无名山丘,崛起成峰 1047

[LeetCode]230. Kth Smallest Element in a BST

https://leetcode.com/problems/kth-smallest-element-in-a-bst/ 找出BST中的第k个节点值 BST的中序遍历就是一个升序数组啊!!!! 数左子树中节点个数num,如果是k - 1个,那么当前root即为所求;如果num大于k,则从左子树中找第k个;否则从右子树中找第k - 1 - num个(即减去左子树中节

gqk289的专栏 334

leetcode-230-Kth Smallest Element in a BST

Kth Smallest Element in a BST   Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Note:  You may assume k is always valid, 1 ≤ k ≤ BST's to

早睡早起好少年 965

LeetCode题解-230-Kth Smallest Element in a BST

原题 概览 BST是二叉查找树,它具有如下的性质:左子树中所有节点的值均小于根节点的值,右子树中所有节点的值均大于根节点的值。 解法1使用了迭代法; 解法2使用了递归法。 解法1 解题思路 使用迭代法。由于BST的性质,使用二叉树的中序遍历。中序遍历先访问到的节点的值较小,每访问一个节点计数值+1,当计数值到达K的时候该节点就是要访问的节点。 中序遍历的思路

WangT443的博客 513

[LeetCode 230] Kth Smallest Element in a BST

Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Note: You may assume k is always valid, 1 ≤ k ≤ BST's total elements. Follow up: What if the BST

coder 进阶的专栏 2291

Leetcode230. Kth Smallest Element in a BST,递归/迭代

Leetcode230. Kth Smallest Element in a BST,二叉搜索树中第K小的元素Leetcode230. Kth Smallest Element in a BST,二叉搜索树中第K小的元素题目树的遍历方案方法1,递归实现中序遍历复杂度分析方法2,迭代实现中序遍历复杂度分析 Leetcode230. Kth Smallest Element in a BST,二叉搜索树中第K小的元素 题目 题目链接 这道题有官方题解,就直接翻译过来了 感言:递归好写,但复杂度比不上迭代,迭代复

qq_17065591的博客 385
上一篇: 152. Maximum Product Subarray
下一篇: 671. Second Minimum Node In a Binary Tree
lifi_sysu
博客等级 码龄9年 0粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值