二叉搜索树中第K小的元素
已关闭dadingPython / C++入场费 2 金币1 次提交
题目描述
给定一棵二叉搜索树(BST),请找出其中第 k 小的元素值。BST 的定义:对于任意节点,左子树中所有节点的值都小于该节点的值,右子树中所有节点的值都大于该节点的值。
输入格式
第一行是一个整数 n,表示树中节点的个数。第二行是 n 个整数,表示按层序遍历给出的 BST(空节点用 -1 表示,保证输入构成合法的 BST)。第三行是一个整数 k(1 ≤ k ≤ n)。
输出格式
输出一个整数,表示 BST 中第 k 小的元素值。
输入输出样例
样例 1
输入:
7 5 3 7 1 4 6 8 3
输出:
4
说明/提示
BST 的中序遍历就是升序序列,想想怎么利用这个性质?