【关关的刷题日记55】Leetcode 404. Sum of Left Leaves

时间:2022-05-08
本文章向大家介绍【关关的刷题日记55】Leetcode 404. Sum of Left Leaves,主要内容包括题目、思路、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

关关的刷题日记55 – Leetcode 404. Sum of Left Leaves

题目

Find the sum of all left leaves in a given binary tree.

思路

思路:题目让我们求一棵二叉树左叶子节点值的和。

  • 如何判断一个节点是左叶子节点?该节点必须满足是左子树节点,且该节点的左右子树都是空的。
  • 接下来如果这棵树是空的:那么左叶子节点的和为0。如果这棵树不是空的: 1、如果其左子树是左叶子节点,那么我们就把它的值和右子树的左叶子节点的和加起来; 2、如果其左子树不是左叶子节点,我们就把左子树和右子树的左叶子节点的和加起来。 求左子树和右子树的左叶子节点的和的方法和求这棵树的左叶子节点的和的方法是一样的,采用递归的解法。
class Solution {public:
    int sumOfLeftLeaves(TreeNode* root) {
        if(root==nullptr)
            return 0;
        if(root->left && !root->left->left && !root->left->right)
            return root->left->val + sumOfLeftLeaves(root->right);
        else
            return sumOfLeftLeaves(root->left)+sumOfLeftLeaves(root->right);
    }};

人生易老,唯有陪伴最长情,加油!

以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)。