寻找二叉树的第k大节点
来源:互联网 发布:数据制作分析报表 编辑:程序博客网 时间:2024/05/17 03:25
需求:
给定一棵二叉树,求出第k大的节点。
根据二叉树的中序遍历中序遍历即可找到第k大的节点。
实现:
节点定义:
typedef struct node{ int data; struct node *left; struct node *right;}BTNode;
BTNode* searchTagCore(BTNode *root, int* k){ BTNode *tag = NULL; if (root->left){ tag = searchTagCore(root->left, k); } if (!tag){ if (1 == *k){ //说明当前节点就是目标值 tag = root; } (*k)--; } if (!tag&&root->right){ tag = searchTagCore(root->right,k); } return tag;}BTNode* searchTag(BTNode *root, int k){ if (!root || !k){ return NULL; } return searchTagCore(root, &k);}
阅读全文
0 0
- 寻找二叉树的第k大节点
- 二叉搜索树的第K大节点
- 求二叉搜索树的第K大节点
- 【剑指offer】面试题54:二叉搜索树的第k大节点
- 寻找二叉搜索树的第K小的节点
- 二叉树首尾点的寻找
- 【二叉树】二叉搜索树的第k个结点
- 寻找第K大数的方法
- 寻找第K大的数
- 寻找最大的第K个数
- 寻找第K小的数
- 寻找第K大的数
- 寻找第K小的数
- 寻找最大的第K个数
- 寻找第K大的数
- 寻找第K大的数
- 寻找第K小的数
- 寻找第K大的数
- Halcon+MFC图像显示
- HTML+CSS总结(1)
- UML之用例图分析(关联、泛化、包含、扩展)(转)
- z-index(元素覆盖层级关系)
- 【模板】高精度
- 寻找二叉树的第k大节点
- 非典型 JavaMail 邮件附件名乱码问题
- Glide-自定义模块功能(七)
- Java实现基于LinkedList的栈
- 响应式布局三种实现方案汇总
- Linux系统调用(syscall)原理
- 【模板】手写堆
- VB 学习整理4
- 机器人操作系统