• 【力扣 034】404. 左叶子之和


    404. 左叶子之和

    给定二叉树的根节点 root ,返回所有左叶子之和。

    示例 1:

    输入: root = [3,9,20,null,null,15,7] 
    输出: 24 
    解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24
    示例 2:

    输入: root = [1]
    输出: 0
     

    提示:

    节点数在 [1, 1000] 范围内
    -1000 <= Node.val <= 1000
     

    代码实现:

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
     *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
     *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
     * };
     */
    class Solution {
    public:
        int sumOfLeftLeaves(TreeNode* root) {
            if(!root) return 0;
            int res = 0;
            dfs(root, res, false);
            return res;
        }
        void dfs(TreeNode *root, int &res, bool flag)
        {
            if(!root) return;
            if(!root->left && !root->right && flag)
            {
                res += root->val;
                return;
            }
            dfs(root->left, res, true);
            dfs(root->right, res, false);
        }
    };
  • 相关阅读:
    时间选择框(可用于Form)
    点击复制指定内容
    ajax中多个模板之间套用ajax
    Java学习路径
    Windows平台安装Python
    Python语法-第2关
    Python语法-第1关
    Python语法-第0关
    图像识别
    wx:for用法
  • 原文地址:https://www.cnblogs.com/sunbines/p/16290234.html
Copyright © 2020-2023  润新知