【树】404.左子树之和

404.左子树之和

计算给定二叉树的所有左叶子之和。

示例:

    3
   / \
  9  20
    /  \
   15   7

在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24

递归实现

 int sum =0 ;
    int sumOfLeftLeaves(TreeNode* root) {
        leftNum(root);
        return sum ;
    }
    
    void leftNum(TreeNode *root){
        //到达叶子返回
        if(root == NULL) return ;
        //判断某一个节点的左子数是否叶子节点,是就将左子树的值增加到ans中(叶子节点没有左右子树)
        if(root->left != NULL && (root->left->left == NULL && root->left->right == NULL)){
            sum += root->left->val;
        }
        leftNum(root->left);
        leftNum(root->right);
    }
posted @ 2020-05-01 00:09  爱吃猫的鱼69  阅读(141)  评论(0)    收藏  举报