剑指offer——59二叉搜索树的第k大节点
2024-09-06 06:43:05
题目描述
给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。
题解:
考察的就是中序遍历
不过注意进行剪枝
class Solution {
public:
TreeNode* KthNode(TreeNode* pRoot, int k)
{
if (pRoot == nullptr)return nullptr;
inOrder(pRoot, k);
return res;
}
void inOrder(TreeNode* pRoot, const int k)
{
if (n > k || pRoot == nullptr)return;//进行剪枝和边界处理
inOrder(pRoot->left, k);
++n;
if (n == k && res == nullptr)
{
res = pRoot;
return;
}
inOrder(pRoot->right, k);
}
private:
int n = ;
TreeNode *res = nullptr;
};
最新文章
- HDU 1000 &; HDU1001 &; 字符串连接
- Oracle ORA-12519: TNS:no appropriate service handler found 解决
- JS数组(Array)处理函数总结
- Android -- 与WEB交互在同一个会话Session中通信
- UI进阶 SQLite错误码
- 创建类模式(三):创建者(Builder)
- BW导航属性设置
- WCF 绑定(Binding)
- 火车站点城市查询(appserv 服务器练习)
- docker进阶-初探Docker-compose
- SQL Server 扩展事件(Extented Events)从入门到进阶(4)——扩展事件引擎——基本概念
- java8完全解读二
- IDEA环境下GIT操作浅析之二-idea下分支操作相关命令
- Laravel 5.2 错误-----ReflectionException in compiled.php line 8572: Class App\Http\Controllers\Apih5\ZhaoshangController does not exist
- jenkins使用(ubuntu16.0环境)
- Java中的队列都有哪些,有什么区别?
- python安装及配置
- powerdesigner 数据库表定义导出到excel
- Linux+Git命令
- LR回放https协议脚本失败:[GENERAL_MSG_CAT_SSL_ERROR]connect to host ";XXX"; failed:[10054] Connection reset by peer [MsgId:MERR-27780]
热门文章
- java commons-fileupload servlet 多文件上传
- MySQL高级学习笔记(四):索引优化分析
- CSS3 动画Animation的8大属性
- Java中使用File类删除文件夹和文件
- js 禁止右击保存图片,禁止拖拽图片
- MHA-Atlas-MySQL高可用(下)
- 【JDK1.8】Java HashMap实现细节
- javascript与jquery删除元素节点
- C# 进制转换(二进制、十六进制、十进制互转) 转载 https://www.cnblogs.com/icebutterfly/p/8884023.html
- day09 python函数 返回值 参数