zl程序教程

您现在的位置是:首页 >  其他

当前栏目

剑指offer编程题解法汇总54-二叉搜索树的第k个结点

搜索编程 汇总 Offer 解法 二叉 结点 54
2023-09-11 14:18:52 时间

原题链接:二叉搜索树的第k个结点_牛客题霸_牛客网

描述

给定一棵结点数为 n 二叉搜索树,请找出其中的第 k 小的TreeNode结点。

数据范围: 0 \le n <= 1000≤n<=100,0\le k \le 1000≤k≤100,树上每个结点的值满足 0 \le val \le 1000≤val≤100

要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)

注意:不是返回结点的值

如输入{5,3,7,2,4,6,8},3时,二叉树{5,3,7,2,4,6,8}如下图所示:

该二叉树所有节点按结点值升序排列后可得[2,3,4,5,6,7,8],所以第3个结点的结点值为4,故返回对应结点值为4的结点即可。

输入描述:

提示:当n为0或者k为0时返回空。

示例1

输入:

{5,3,7,2,4,6,8},3

返回值:

4

说明:

按结点数值升序顺序可知第三小结点的值为4 ,故返回对应结点值为4的结点即可。    

示例2

输入:

{},1

返回值:

"null"

说明:

结点数n为0,所以返回对应编程语言的空结点即可。    

解析思路:

代码: