[leetcode] 230.二叉搜索树中的最小树
给定一个二叉搜索树的根节点 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:def kthSmallest(self,root:TreeNode,k:int)->int:stack = []while True:while root:stack.append(root)root = root.leftroot = stack.pop()k -=1if not k:return root.valroot = root.right
方法二:递归
class Solution:def kthSmallest(self,roor,k):def inorder(r):return inorder(r.left)+[r.val]+inorder(r.right) if r else []return inorder(root)[k-1]
[leetcode] 230.二叉搜索树中的最小树相关推荐
- LeetCode 230. 二叉搜索树中第K小的元素(中序遍历)
文章目录 1. 题目信息 2. 解题 2.1 中序递归 2.2 中序循环写法 1. 题目信息 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素. 说明: 你可以 ...
- 73. Leetcode 230. 二叉搜索树中第K小的元素 (二叉搜索树-中序遍历类)
给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数).示例 1:输入:root = [3,1,4,null,2], k = 1 输出 ...
- LeetCode 230. 二叉搜索树中第K小的元素(递归)
题目描述 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素. 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数. 思路 详见链接 代码 c ...
- LeetCode 230二叉搜索树中第k小的元素
思路: ※一.中序遍历,找第k个元素 class Solution { public:vector<int>res;void inorder(TreeNode *root){if(root ...
- LeetCode 510. 二叉搜索树中的中序后继 II(查找右子树或者祖父节点)
文章目录 1. 题目 2. 解题 1. 题目 给定一棵二叉搜索树和其中的一个节点 node ,找到该节点在树中的中序后继. 如果节点没有中序后继,请返回 null . 一个结点 node 的中序后继是 ...
- LeetCode 285. 二叉搜索树中的顺序后继(中序遍历)
文章目录 1. 题目 2. 解题 1. 题目 给你一个二叉搜索树和其中的某一个结点,请你找出该结点在树中顺序后继的节点. 结点 p 的后继是值比 p.val 大的结点中键值最小的结点. 示例 1: 输 ...
- LeetCode 501. 二叉搜索树中的众数(中序遍历)
文章目录 1. 题目 2. 中序遍历 1. 题目 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素). 假定 BST 有如下定义: 结点左子树中所含结点的值小于等 ...
- LeetCode 701. 二叉搜索树中的插入操作(二叉查找树/插入)
1. 题目 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树. 返回插入后二叉搜索树的根节点. 保证原始二叉搜索树中不存在新值. 注意,可能存在多种有效的插入方式,只要树在插入后仍 ...
- 70. Leetcode 701. 二叉搜索树中的插入操作 (二叉搜索树-基本操作类)
给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树. 返回插入后二叉搜索树的根节点. 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同.注意,可能 ...
最新文章
- 剑指offer 面试题6:重建二叉树
- 如何运用UIControl自定义iOS中的控件
- MATLAB:图像的与、或、非、异或逻辑运算(、|、~、xor)
- 阿里云技术白皮书_对阿里重磅发布的云原生架构白皮书的初步解读
- 表达式求值及转换算法
- 个税10% 人群_人群管理如何使我们的搜索质量提高27%
- 从下往上看--新皮层资料的读后感 第一部分:皮层细胞
- python游戏按键无效_瞬速掌握Python系统管理-调试和分析脚本1-debugging
- [Java] 蓝桥杯 BASIC-9 基础练习 特殊回文数
- .Net Discovery系列之三 深入理解.Net垃圾收集机制(上)
- 区块链学习路线图 初阶+中阶+高阶
- python删除过期文件_python 删除过期文件的方法+源码
- JeecgBoot 2.1.1 代码生成器AI版本发布,基于SpringBoot+AntDesign的JAVA快速开发平台
- java 上位机 socket_通讯编程上位机软件实现(SOCKET)——第二回
- 符号“∑”和“Π”的用法。
- golang详细知识体系
- win10 测试YOLOV4 报错Couldnt open file: yolov4.weights,Couldnt open file: yolov4.cfg(已解决)
- ORB-SLAM3 单目惯导ros-system-track
- 视频 | 马云:如果有天阿里不在了,我们也要为世界留下这三样
- spring boot2.X word转pdf