leetcode-230. 二叉搜索树中第K小的元素

dfs 中序遍历即可

/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
var num, ans int
var find bool
func kthSmallest(root *TreeNode, k int) int {
find = false
num, ans = 0, 0
dfs(root, k)
return ans
}
func dfs(root *TreeNode, k int) {
if find || root == nil {
return
}
if root.Left != nil {
dfs(root.Left, k)
}
num++
if num == k {
ans = root.Val
find = true
}
if root.Right != nil {
dfs(root.Right, k)
}
return
}

参考

230. 二叉搜索树中第K小的元素 - 力扣(Leetcode)

题解中有后续优化的解法

题解-230. 二叉搜索树中第K小的元素 - 力扣(Leetcode)

posted @   吴丹阳-V  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示