《剑指Offer》之“二叉搜索树的第k个结点”
2018-03-31 22:04
176 查看
题目描述
给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。代码实现
class Solution { public: TreeNode* KthNode(TreeNode* pRoot, int k) { if(pRoot == nullptr || k < 0) return nullptr; stack<TreeNode*> s; TreeNode *node = pRoot; while(node != nullptr || !s.empty()){ if(node){ s.push(node); node = node->left; } else{ node = s.top(); s.pop(); k--; if(k == 0) return node; node = node->right; } } return nullptr; } };
“`
相关文章推荐
- 剑指Offer_62_二叉搜索树的第k个结点
- python剑指offer系列二叉搜索树的第k个结点
- 剑指offer—二叉搜索树的第k个结点
- 《剑指offer》:[63]二叉搜索树的第K个结点
- 剑指offer——二叉搜索树的第k个结点(覆盖TreeSet的compare方法)
- 剑指offer--面试题63:二叉搜索树的第k个结点
- 剑指offer面试题63 二叉搜索树的第k个结点
- 剑指offer——二叉搜索树的第k个结点(一般)
- 《剑指Offer》学习笔记--面试题63:二叉搜索树的第k个结点
- 剑指Offer——二叉搜索树的第k个结点
- 剑指offer:二叉搜索树的第k个结点
- 剑指offer——面试题63:二叉搜索树的第k个结点
- 剑指offer(59)-二叉搜索树的第k个结点
- 剑指Offer:二叉搜索树的第K个结点
- 《剑指offer》面试题63 二叉搜索树的第k个结点
- 《剑指offer》二叉搜索树的第k个结点
- 剑指offer 面试题63:二叉搜索树的第k个结点(二叉树中序遍历的应用) 题解
- 剑指offer——二叉搜索树的第k个节点
- 二叉搜索树的第k个结点
- 剑指offer---链表中倒数第k个结点