思路
做完上一题,本题更简单了。得到中序序列之后判断第k小的值即可。
#code-switcher
class Solution:
def kthSmallest(self, root, k):
# BST 的中序遍历结果是升序序列
# 所以中序遍历访问到的第 k 个节点就是第 k 小的元素
P4061.二叉搜索树中第K小的元素
Leetcode 230.二叉搜索树中第K小的元素-原题链接
题目内容
给定一个二叉搜索树的根节点 root ,和一个整数 k,请你设计一个算法查找其中第 k 小的元素(从1 开始计数)。
输入描述
- 第一行有两个整数n,k,n是root的长度
- 第二行为二叉树的序列化数组root,节点值之间用空格隔开,空节点用null表示。
输出描述
输出第 k 小的元素。
样例1

输入
5 1
3 1 4 null 2
输出
1
样例2

输入
8 3
5 3 6 2 4 null null 1
输出
3
提示
- 树中的节点数为 n 。
- 1<=k<=n<=104
- 0<=Node.val<=104