题解 | #左叶子之和#

左叶子之和

http://www.nowcoder.com/practice/405a9033800b403ba8b7b905bab0463d

1.第一看根结点是否为空,为空则返回0,没有叶子。
2.根结点不为空的情况下,看根结点的左孩子结点是否是叶子结点,是就把其值并入sum.
3.根结点不为空的情况下,如果根结点的左孩子不是叶子结点,而是空结点,或者只有左孩子结点,或者只有右孩子结点,或者有2个孩子结点,就递归左右子树求和
int sumOfLeftLeaves(struct TreeNode* root ) {
    if(root == NULL)
        return 0;
    int sum = 0;
    if(root->left && root->left->left == NULL && root->left->right == NULL)
        sum += root->left->val;
    sum += sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);
    return sum;
}



全部评论
大佬,nb
点赞 回复 分享
发布于 2023-04-23 16:15 江西

相关推荐

评论
6
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务