Hot100:二叉搜索树中第 K 小的元素(Kth Smallest Element in a BST)中序计数 / 提前停止 ACERS 解析
副标题 / 摘要 LeetCode 230 的难点不是“会中序遍历”,而是把 BST 的有序性用成真正有用的信息。只要抓住“中序第 k 次访问到的节点就是答案”,整题就会变成一个非常稳定的计数问题。 预计阅读时长:11~14 分钟 标签:Hot100、二叉树、BST、中序遍历、栈 SEO 关键词:Kth Smallest Element in a BST, 二叉搜索树中第 K 小的元素, BST, 中序遍历, 显式栈, LeetCode 230 元描述:系统讲透 LeetCode 230 的 BST 中序有序性、显式栈计数与提前停止技巧,并给出工程迁移与多语言实现。 A — Algorithm(题目与算法) 题目还原 给定一棵二叉搜索树 root 和一个整数 k,请找出这棵树中第 k 小的元素。 这里的 k 从 1 开始计数。 输入输出 名称 类型 描述 root TreeNode 二叉搜索树根节点 k int 第几个最小元素,1 <= k <= n 返回值 int 第 k 小的节点值 示例 1 输入:root = [3,1,4,null,2], k = 1 输出:1 示例 2 输入:root = [5,3,6,2,4,null,null,1], k = 3 输出:3 提示 树中的节点数为 n 1 <= k <= n <= 10^4 0 <= Node.val <= 10^4 进阶 如果 BST 经常插入、删除,并且需要频繁查询第 k 小,你会怎么优化? ...