DEV Community

Cover image for 404. Sum of Left Leaves
MD ARIFUL HAQUE
MD ARIFUL HAQUE

Posted on • Updated on

404. Sum of Left Leaves

404. Sum of Left Leaves

Easy

Given the root of a binary tree, return the sum of all left leaves.

A leaf is a node with no children. A left leaf is a leaf that is the left child of another node.

Example 1:

leftsum-tree

  • Input: root = [3,9,20,null,null,15,7]
  • Output: 24
  • Explanation: There are two left leaves in the binary tree, with values 9 and 15 respectively.

Example 2:

  • Input: root = [1]
  • Output: 0

Constraints:

  • The number of nodes in the tree is in the range [1, 1000].
  • -1000 <= Node.val <= 1000

Solution:

/**
 * Definition for a binary tree node.
 * class TreeNode {
 *     public $val = null;
 *     public $left = null;
 *     public $right = null;
 *     function __construct($val = 0, $left = null, $right = null) {
 *         $this->val = $val;
 *         $this->left = $left;
 *         $this->right = $right;
 *     }
 * }
 */
class Solution {

    /**
     * @param TreeNode $root
     * @return Integer
     */
    function sumOfLeftLeaves($root) {
        if (!$root) {
            return 0;
        }

        $ans = 0;

        if ($root->left) {
            if (!$root->left->left && !$root->left->right) {
                $ans += $root->left->val;
            } else {
                $ans += $this->sumOfLeftLeaves($root->left);
            }
        }
        $ans += $this->sumOfLeftLeaves($root->right);

        return $ans;
    }
}
Enter fullscreen mode Exit fullscreen mode

Contact Links

Top comments (0)