/*
题目:
求二叉搜索树的第k大节点。
*/
/*
思路:
中序遍历。
*/
#include<iostream>
#include<cstring>
#include<vector>
#include<algorithm>
#include<map> using namespace std; struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
}; TreeNode* KthNodeCore(TreeNode* pRoot, int &k){
TreeNode* target = nullptr; if(pRoot->left != nullptr){
target = KthNodeCore(pRoot->left,k);
}
if(target == nullptr){
if(k == 1){
target = pRoot;
}
k--;
}
if(target == nullptr && pRoot->right != nullptr){
target = KthNodeCore(pRoot->right,k);
}
return target;
} TreeNode* KthNode(TreeNode* pRoot, int k)
{
if(pRoot == nullptr && k <= 0){
return nullptr;
}
return KthNodeCore(pRoot,k);
}

  

最新文章

  1. 解决Mac下MX4手机无法连接adb问题之解决方案
  2. Agile 是什么?
  3. motan源码解读:注册中心zookeeper(2)
  4. 编码、解码Html代码
  5. Unique Binary Search Trees——LeetCode
  6. php javascript
  7. MongoDB无法启动的解决方法
  8. wxpython 32 位 ,python 64 位问题
  9. UIScrollView 加载多个view view还可以交换顺序(1)
  10. 关于getchar()的知识
  11. ASP.NET Core 2.0 MVC项目实战
  12. Nagios Email告警 发不了,可能是 /var/spool/mqueue nagios用户没权限
  13. 谈谈thinkphp5.1中容器(Container)和门面(Facade)的实现
  14. [日常] Go语言圣经-Deferred函数
  15. 解决webstom failed to change read-only files
  16. java的多态示例
  17. 分析 org.hibernate.HibernateException: No Session found for current thread
  18. oracle 中 cursor 与refcursor及sys_refcursor的区别 (转载)
  19. 自动更新SVN项目
  20. Android 初步-Android文件目录介绍

热门文章

  1. MyBatis基础_连接池与事务、动态SQL、注解开发
  2. 练习:等待用户输入input()
  3. HDU6191 Query on A Tree (01字典树+启发式合并)
  4. How to setup backup by using EMC NW + EMC NMM for sqlserver failover cluster (not always on)
  5. SSL:GoDaddy SSL证书制作和安装
  6. 【Java并发工具类】ReadWriteLock
  7. postman之设置token
  8. bash通配符 shell正则表达式
  9. VFP的数据策略:高级篇
  10. THINKPHP-RCE-POC