剑指offer—二叉搜索树的第k个结点
来源:互联网 发布:农村淘宝亏了好几万 编辑:程序博客网 时间:2024/04/28 12:58
华电北风吹
天津大学认知计算与应用重点实验室
日期:2015/10/8
题目描述
给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。
解析:我的思路是对二叉树中序遍历。
/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: TreeNode* KthNode(TreeNode* pRoot, unsigned int k) { int order=0; TreeNode* result; if((pRoot==NULL)||(k<=0)) return NULL; MidOrder(pRoot,order,k,result); if(order<k) return NULL; else return result; } void MidOrder(TreeNode* p,int &order,int k,TreeNode* &result) { if(p->left!=NULL) MidOrder(p->left,order,k,result); order+=1; if(order==k) { result=p; return; } if((order<k)&&(p->right!=NULL)) MidOrder(p->right,order,k,result); }};
0 0
- 《剑指offer》二叉搜索树的第k个结点
- 剑指offer:二叉搜索树的第k个结点
- [剑指offer]二叉搜索树的第k个结点
- 剑指offer-二叉搜索树的第k个结点
- 【剑指Offer】二叉搜索树的第k个结点
- 剑指offer 二叉搜索树的第k个结点
- 剑指Offer:二叉搜索树的第K个结点
- 剑指offer-二叉搜索树的第k个结点
- 剑指Offer------二叉搜索树的第k个结点
- 剑指offer---二叉搜索树的第k个结点
- 剑指offer-二叉搜索树中的第k个结点
- 剑指offer——二叉搜索树的第k个结点
- 剑指offer——二叉搜索树的第k个结点
- 剑指offer(C++)——二叉搜索树的第k个结点
- 剑指offer——二叉搜索树的第k个结点(一般)
- 剑指Offer—62—二叉搜索树的第k个结点
- 剑指offer——62.二叉搜索树的第k个结点
- 剑指offer—二叉搜索树的第k个结点
- LA 3667 Ruler 两种不同形式的搜索来解决
- 卡榫函数
- leetcode29
- 四轴学习之MPU6050 通过DMP读取四元数 获得欧拉角
- Testlink的使用
- 剑指offer—二叉搜索树的第k个结点
- ef之 entitystate状态
- emacs - Prelude
- Oracle-简介
- 幻影读以及如何避免
- Java体系结构简介
- 一种全新的截屏方法
- 08-DOM操作多选下拉列表
- Oracle-卸载