## Question

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:**

Input:root = [3,9,20,null,null,15,7]Output:24Explanation: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`

## Python Solution

# Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def sumOfLeftLeaves(self, root: TreeNode) -> int: if root==None:return 0 stack = [[root,'']] s = 0 while stack: curr,kaha_se = stack.pop() if not curr.left and not curr.right and kaha_se=='l':s+=int(curr.val) if curr.left: stack.append([curr.left,'l']) if curr.right: stack.append([curr.right,'r']) return s