leetcode 404. Sum of Left Leaves

来源:互联网 发布:淘宝网如何购物流程 编辑:程序博客网 时间:2024/06/03 23:51

原题:

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

Example:

    3   / \  9  20    /  \   15   7There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.
代码如下:

int sumOfLeftLeaves(struct TreeNode* root) {    if(root==NULL)        return 0;    if(root->left!=NULL&&root->right!=NULL)    {        if(root->left->left==NULL&&root->left->right==NULL)        {            return root->left->val+sumOfLeftLeaves(root->right);        }        return sumOfLeftLeaves(root->left)+sumOfLeftLeaves(root->right);    }    else if(root->left!=NULL)    {        if(root->left->left==NULL&&root->left->right==NULL)        {            return root->left->val;        }        return sumOfLeftLeaves(root->left);    }    else if(root->right!=NULL)    {        return sumOfLeftLeaves(root->right);    }    else    {        return 0;    }    return 0;}

还是递归解题就好