题目描述

给定一棵二叉搜索树,请找出其中的第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;
};
 

最新文章

  1. HDU 1000 & HDU1001 & 字符串连接
  2. Oracle ORA-12519: TNS:no appropriate service handler found 解决
  3. JS数组(Array)处理函数总结
  4. Android -- 与WEB交互在同一个会话Session中通信
  5. UI进阶 SQLite错误码
  6. 创建类模式(三):创建者(Builder)
  7. BW导航属性设置
  8. WCF 绑定(Binding)
  9. 火车站点城市查询(appserv 服务器练习)
  10. docker进阶-初探Docker-compose
  11. SQL Server 扩展事件(Extented Events)从入门到进阶(4)——扩展事件引擎——基本概念
  12. java8完全解读二
  13. IDEA环境下GIT操作浅析之二-idea下分支操作相关命令
  14. Laravel 5.2 错误-----ReflectionException in compiled.php line 8572: Class App\Http\Controllers\Apih5\ZhaoshangController does not exist
  15. jenkins使用(ubuntu16.0环境)
  16. Java中的队列都有哪些,有什么区别?
  17. python安装及配置
  18. powerdesigner 数据库表定义导出到excel
  19. Linux+Git命令
  20. LR回放https协议脚本失败:[GENERAL_MSG_CAT_SSL_ERROR]connect to host "XXX" failed:[10054] Connection reset by peer [MsgId:MERR-27780]

热门文章

  1. java commons-fileupload servlet 多文件上传
  2. MySQL高级学习笔记(四):索引优化分析
  3. CSS3 动画Animation的8大属性
  4. Java中使用File类删除文件夹和文件
  5. js 禁止右击保存图片,禁止拖拽图片
  6. MHA-Atlas-MySQL高可用(下)
  7. 【JDK1.8】Java HashMap实现细节
  8. javascript与jquery删除元素节点
  9. C# 进制转换(二进制、十六进制、十进制互转) 转载 https://www.cnblogs.com/icebutterfly/p/8884023.html
  10. day09 python函数 返回值 参数