Day125 | 灵神 | 二叉树 | 二叉树中的第K大层和

Day125 | 灵神 | 二叉树 | 二叉树中的第K大层和

2583.二叉树中的第K大层和

2583. 二叉树中的第 K 大层和 - 力扣(LeetCode)

思路:

把每层的结果都放到一个vector数组里面,然后排序这个vector数组,返回第K大的元素即可

完整代码:

cpp 复制代码
class Solution {
public:
    long long kthLargestLevelSum(TreeNode* root, int k) {
        vector<long long> res;
        queue<TreeNode *> q;
        if(root==nullptr)
            return 0;
        q.push(root);
        while(!q.empty())
        {
            int size=q.size();
            long long path=0;
            for(int i=0;i<size;i++)
            {
                TreeNode *t=q.front();
                q.pop();
                path+=t->val;
                if(t->left)
                    q.push(t->left);
                if(t->right)
                    q.push(t->right);
            }
            res.push_back(path);
        }
        sort(res.begin(),res.end());
        if(res.size()>=k)
            return res[res.size()-k];
        return -1;
    }
};
相关推荐
淮北4945 小时前
vim学习进阶
学习·编辑器·vim
炸膛坦客6 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
I_LPL6 小时前
hot100贪心专题
数据结构·算法·leetcode·贪心
sayang_shao6 小时前
ARM架构运行模式学习笔记
arm开发·学习·架构
颜酱6 小时前
DFS 岛屿系列题全解析
javascript·后端·算法
WolfGang0073217 小时前
代码随想录算法训练营 Day16 | 二叉树 part06
算法
炸膛坦客7 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
happymaker06268 小时前
web前端学习日记——DAY04
前端·学习
2401_831824968 小时前
代码性能剖析工具
开发语言·c++·算法
是wzoi的一名用户啊~8 小时前
【C++小游戏】2048
开发语言·c++