每日力扣算法题(简单篇)

404.左叶子之和

原题:

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

解题思路:
二叉树类题目,显然最简单的解法就是递归,这里要求求左叶子之和,那么叶子的定义就是没有子节点的节点,也就是left==NULL&&right==NULL,那么我们可以很简单的写出判断的条件,而对于特殊情况也就是root==NULL的情况做特殊处理就行了

知识储备:

递归:把大问题分解为小问题,以本题为例,对每一个子节点单独判断,判断是否是左叶子节点,从从而求出左叶子节点和

都来看到这里,点个赞把,可以的话点个关注吧

源代码:

int sumOfLeftLeaves(struct TreeNode* root){

    int sum=0;

    if(!root)

    {

        return 0;

    }

    if(root->left&&root->left->left==NULL&&root->left->right==NULL)

    {

        sum+=root->left->val;

    }

    return sum+sumOfLeftLeaves(root->left)+sumOfLeftLeaves(root->right);

}

相似题目:94.二叉树的中序遍历

你可能感兴趣的:(力扣简单篇,算法,leetcode,职场和发展)