首页 > 其他分享 >剑指 Offer 54. 二叉搜索树的第k大节点(简单)

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

时间:2023-08-13 13:12:19浏览次数:49  
标签:TreeNode cur Offer int 54 traversal result 二叉

题目:

class Solution {
public:
    void traversal(TreeNode* cur, vector<int>& result){      //本题利用二叉搜索树的排序性质
        if(cur==nullptr) return;
        traversal(cur->right, result);   //唯一要注意的是题目要求第k大的,所以要把大的放在前面。遍历顺序右、中、左
        result.push_back(cur->val);
        traversal(cur->left, result);
    }
    int kthLargest(TreeNode* root, int k) {
        vector<int> result;
        traversal(root, result);
        return result[k-1];
    }
};

标签:TreeNode,cur,Offer,int,54,traversal,result,二叉
From: https://www.cnblogs.com/fly-smart/p/17626429.html

相关文章

  • 一个mysql dba的成长之旅--第零章 绝处逢生:意外收到dba offer
    (本故事纯属虚构,如有雷同实属巧合)2018年的一个秋天的下午,江南理工大学图书馆一楼的宣讲会大厅人头攒动,充满了期待的氛围。这里正在举办一场国内知名互联网公司的宣讲会,吸引了众多毕业生前来倾听。小李身穿一套整洁的求职西装,手里拿着整齐的彩色简历,坐在室友旁边,全神贯注地聆听着台......
  • 剑指 Offer 43. 1~n 整数中 1 出现的次数
    输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1的数字有1、10、11和12,1一共出现了5次。 示例1:输入:n=12输出:5示例2:输入:n=13输出:6 限制:1<=n< 2^31......
  • [代码随想录]Day16-二叉树part05
    题目:513.找树左下角的值思路:层序遍历是最好的选择了,先放右节点,再放左节点最后一个元素就是最左侧的节点。说白了层序遍历就是广度优先搜索BFS。代码:funcfindBottomLeftValue(root*TreeNode)int{node:=rootq:=[]*TreeNode{root}forlen(q)>0{......
  • 4954: 矩阵游戏
    题目描述婷婷是个喜欢矩阵的小朋友,有一天她想用电脑生成一个巨大的\(n\)行\(m\)列的矩阵(你不用担心她如何存储)。她生成的这个矩阵满足一个神奇的性质:若用\(F[i,j]\)来表示矩阵中第\(i\)行第\(j\)列的元素,则\(F[i,j]\)满足下面的递推式:\[\begin{aligned}F[1,1]&=......
  • p5两链表相交问题和二叉树
    (本文大多从杀戒之声处来,就想着自己方便看)两链表相交问题所谓相交,是指两链表有某一内存地址相同,则为相交,判断有环无环,哈希表(set),第一次相同(单向链表)快慢指针,快走2,慢走1,快慢指针第一次相遇后,将快指针返回头节点,慢指针不动,快改为走1,看快慢节点是否能相遇,有环则一定会在入环节......
  • 【剑指Offer】25、复杂链表的复制
    【剑指Offer】25、复杂链表的复制题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。解题思路:本题有以下三种解......
  • 【剑指Offer】16、合并两个排序的链表
    【剑指Offer】16、合并两个排序的链表题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解题思路:首先需要判断几个特殊情况,即判断输入的两个指针是否为空。如果第一个链表为空,则直接返回第二个链表;如果第二个链表为空,则直接......
  • 金三银四送offer,大厂高薪,仅限50名
    又到了一年一度的金三银四求职季,不过今年实在有些诡异,已经3月下旬了,各互联网大厂不见招人,反倒有不少被爆裁员的。脉脉上每天都在更新“上午还在改Bug,下午就被HR通知走人”的恐怖故事。       尽管有些危言耸听,但也说明了目前就业形势的严峻。。。我知道关注我公号的......
  • Codeforces 1854E - Game Bundles
    都这么会乱搞的吗/xia随机生成若干\(<30\)的数直到它们当中和为\(60\)的子集个数\(>k\)为止。删去最后一个元素。然后考虑贪心确定\(>30\)的部分,具体方法是按照\(dp_{60-x}\)从大到小贪心选,如果剩余子集个数\(\gedp_{60-x}\)就在序列中加入\(x\)。如此随机化直到找......
  • [代码随想录]Day15-二叉树part04
    题目:110.平衡二叉树思路:就是后序,如果左右差的超过了1,那么就直接返回-1,如果最后收到了-1那一定是false。代码:/***Definitionforabinarytreenode.*typeTreeNodestruct{*Valint*Left*TreeNode*Right*TreeNode*}*/funcisBalanced(......