leetcode 404 左叶子之和

简介: leetcode 404 左叶子之和

左叶子之和


e9089c506e4641c5ab0d628bc54fbe5b.png

/**
 * 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 result=0;
    void left_sum(TreeNode* cur)
    {
        if(cur==nullptr) return ;
        //判断左子叶
        if(cur->left!=nullptr&&cur->left->left==nullptr&&cur->left->right==nullptr) 
          result += cur->left->val;
        left_sum(cur->left);
        left_sum(cur->right);
    }
    int sumOfLeftLeaves(TreeNode* root) {
        left_sum(root);
        return result;
    }
};

二刷

/**
 * 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 result = 0;
    void find_tree(TreeNode* cur , int left_flag)
    {
        if(cur==nullptr) return;
        if(cur->left==nullptr&&cur->right==nullptr&&left_flag==1)
            result += cur->val;
        find_tree(cur->left,1);
        find_tree(cur->right,0);
        return;
    }
    int sumOfLeftLeaves(TreeNode* root) {
        if(root == nullptr) return 0;
        find_tree(root,0);
        return result;
    }
};
相关文章
|
6月前
|
Java C++ Python
leetcode-404:左叶子之和
leetcode-404:左叶子之和
36 0
【Leetcode -872.叶子相似的树 -993.二叉树的堂兄弟节点】
【Leetcode -872.叶子相似的树 -993.二叉树的堂兄弟节点】
38 0
|
6月前
leetcode404左叶子之和刷题打卡
leetcode404左叶子之和刷题打卡
26 0
|
算法
代码随想录算法训练营第十七天 | LeetCode 110. 平衡二叉树、257. 二叉树的所有路径、404. 左叶子之和
代码随想录算法训练营第十七天 | LeetCode 110. 平衡二叉树、257. 二叉树的所有路径、404. 左叶子之和
42 0
|
算法
LeetCode每日1题--左叶子之和
LeetCode每日1题--左叶子之和
88 0
代码随想录刷题|LeetCode 110.平衡二叉树 257.二叉树的所有路径 404.左叶子之和
代码随想录刷题|LeetCode 110.平衡二叉树 257.二叉树的所有路径 404.左叶子之和
|
算法 Java Python
ACM 选手图解 LeetCode 左叶子之和
ACM 选手图解 LeetCode 左叶子之和
ACM 选手图解 LeetCode 左叶子之和
|
算法
​LeetCode刷题实战129:求根到叶子节点数字之和
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
102 0
​LeetCode刷题实战129:求根到叶子节点数字之和
|
算法
​LeetCode刷题实战404:左叶子之和
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
126 0