在一个农场里,农场主人把牛放在了一个大坑里,这个大坑的形状就像一棵二叉树。每个牛的位置可以看作是二叉树的一个节点,牛的重量可以看作是该节点的值。大坑的最上面是第1层,第1层下面的是第2层,依此类推。 现在农场主人想要知道,哪一层的牛的总重量最大。如果有多层的牛的总重量相同,就返回层数最大的那一层。

区块链毕设网qklbishe.com为您提供问题的解答

在一个农场里,农场主人把牛放在了一个大坑里,这个大坑的形状就像一棵二叉树。每个牛的位置可以看作是二叉树的一个节点,牛的重量可以看作是该节点的值。大坑的最上面是第1层,第1层下面的是第2层,依此类推。

现在农场主人想要知道,哪一层的牛的总重量最大。如果有多层的牛的总重量相同,就返回层数最大的那一层。

/**  * struct TreeNode {  *  int val;  *  struct TreeNode *left;  *  struct TreeNode *right;  *  TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}  * };  */ #include <queue> class Solution {   public:     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      *      * @param root TreeNode类      * @return int整型      */     int maxLevelSum(TreeNode* root) {         // write code here         queue<TreeNode*> res1, res2;         res1.push(root);         pair<int, int> mmax = {1, root->val};         int temp;         int ceng = 0;         while (!res1.empty() || !res2.empty()) {             temp = 0;             ceng++;             if (!res1.empty()) {                 while (!res1.empty()) {                     temp = temp + res1.front()->val;                     if (res1.front()->left) {                         res2.push(res1.front()->left);                     }                     if (res1.front()->right) {                         res2.push(res1.front()->right);                     }                     res1.pop();                 }                 if (temp >= mmax.second) {                     mmax.first = ceng;                     mmax.second = temp;                 }             } else {                 while (!res2.empty()) {                     temp = temp + res2.front()->val;                     if (res2.front()->left) {                         res1.push(res2.front()->left);                     }                     if (res2.front()->right) {                         res1.push(res2.front()->right);                     }                     res2.pop();                 }                 if (temp >= mmax.second) {                     mmax.first = ceng;                     mmax.second = temp;                 }             }         }         return mmax.first;     } };

47:19

以上就是关于问题在一个农场里,农场主人把牛放在了一个大坑里,这个大坑的形状就像一棵二叉树。每个牛的位置可以看作是二叉树的一个节点,牛的重量可以看作是该节点的值。大坑的最上面是第1层,第1层下面的是第2层,依此类推。 现在农场主人想要知道,哪一层的牛的总重量最大。如果有多层的牛的总重量相同,就返回层数最大的那一层。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 在一个农场里,农场主人把牛放在了一个大坑里,这个大坑的形状就像一棵二叉树。每个牛的位置可以看作是二叉树的一个节点,牛的重量可以看作是该节点的值。大坑的最上面是第1层,第1层下面的是第2层,依此类推。 现在农场主人想要知道,哪一层的牛的总重量最大。如果有多层的牛的总重量相同,就返回层数最大的那一层。