• 1302. 层数最深叶子节点的和


    给你一棵二叉树,请你返回层数最深的叶子节点的和。

    示例:

    输入:root = [1,2,3,4,5,null,6,7,null,null,null,null,8]
    输出:15

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/deepest-leaves-sum
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    解答:由102题思路对二叉树进行层次遍历,遍历得到的数组最后一个元素的和即为结果。但是这种如果树很高的话,耗时会很高。先附上代码

    /**
     * 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:
       vector<vector<int>> levelOrder(TreeNode* root){
           vector<vector<int>> res;
           if(!root) return res;
           queue<TreeNode*> qu;
           qu.push(root);
           while(!qu.empty()){
               vector<int> tmp;
               int len=qu.size();
               for(int i=0;i<len;++i){
                   TreeNode *node=qu.front();
                   tmp.push_back(node->val);
                   qu.pop();
                   if(node->left) qu.push(node->left);
                   if(node->right) qu.push(node->right);
               }
               res.push_back(tmp);
           }
           return res;
       }
        int deepestLeavesSum(TreeNode* root) {
            int sum=0;
            vector<vector<int>> ans1=levelOrder(root);
            int len1=ans1.size();
            vector<int> ans=ans1[len1-1];
            int len=ans.size();
            for(int i=0;i<len;++i){
              sum+=ans[i];
            }
            return sum;
        }
    };
  • 相关阅读:
    Verilog HDL Test Bench
    配置maven仓库
    mac上卸载oracle jdk 1.8.0_31
    Mac系统安装jdk和maven
    ActiveX的AssemblyInof.cs文件 IObjectSafety  接口
    C#破解dll
    Web Api 转
    dynamic
    无焦点窗体(转载)
    Linux操作系统基础知识part4
  • 原文地址:https://www.cnblogs.com/Makerr/p/12170083.html
Copyright © 2020-2023  润新知