侧边栏壁纸
博主头像
Hope博主等级

努力赚钱的工科研究生

  • 累计撰写 362 篇文章
  • 累计创建 129 个标签
  • 累计收到 5 条评论
标签搜索

剑指 Offer 54. 二叉搜索树的第k大节点

Hope
2022-04-08 / 0 评论 / 0 点赞 / 296 阅读 / 385 字
温馨提示:
本文最后更新于 2022-04-08,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

剑指 Offer 54. 二叉搜索树的第k大节点

思路:

第k大的数字就是倒序的第k个数。

代码:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    int ans;
    int k;
    int kthLargest(TreeNode* root, int _k) {
        k = _k;
        dfs(root);
        return ans;
    }
    void dfs(TreeNode* root){
        if(!root) return;
        dfs(root->right);
        if(--k == 0) ans = root->val;
        dfs(root->left);
    }
};
0

评论区