【62】二叉搜索树的第k个结点
来源:互联网 发布:66是什么意思网络用语6 编辑:程序博客网 时间:2024/05/17 03:05
【62】二叉搜索树的第k个结点
- 参与人数:2376
- 时间限制:1秒
- 空间限制:32768K
题目描述
给定一颗二叉搜索树,请找出其中的第k大的结点。
例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。
牛客网题目链接:点击这里
VS2010代码:
// Source: http://www.nowcoder.com/practice/ef068f602dde4d28aab2b210e859150a?rp=0&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking// Author: Yang Qiang// Date : 2016-8-14#include<iostream>#include<vector>using namespace std;struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};//方法一:全部排序class Solution { vector<TreeNode*> nums; void DFS(TreeNode* p) { if(!p) { return; } else { DFS(p->left); nums.push_back(p); DFS(p->right); } }public: TreeNode* KthNode(TreeNode* pRoot, unsigned int k) { if(!pRoot) return NULL; int n=0; DFS(pRoot); if(k<=nums.size() && k!=0) //题目要求k为1-n。所以要排除0 return nums[k-1]; else return NULL; } };
///方法二:找到即返回
可设置一个计数器,而不用容器存储,找到即返回。
牛客网通过图片:
0 0
- 【62】二叉搜索树的第k个结点
- 【二叉树】二叉搜索树的第k个结点
- 二叉搜索树第k个结点
- 【树14】二叉搜索树的第k个结点
- 剑指offerr--二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 《剑指offer》二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 剑指offer:二叉搜索树的第k个结点
- 58.二叉搜索树的第k个结点
- [剑指offer]二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第K个结点
- PAT-A 1064. Complete Binary Search Tree
- Pycharm安装破解汉化
- 从入门到放弃C语言-入门篇(2)
- Linux系统的历史操作命令删除
- 快速区分 malloc calloc realloc
- 【62】二叉搜索树的第k个结点
- 7/18至8/12安卓开发所用到的技术
- CSDN-markdown 内嵌 LaTeX - Mathjax 简介
- 使用Ajax测试post请求方式:
- 数组的反转与数组的冒泡排序
- Oracle中的 单引号 和 双引号
- 55. Jump Game
- 使用Ajax验证用户是否可以注册
- 在layout里内嵌layout