Find the sum of all left leaves in a given binary tree.
Example:
1 2 3 4 5 6 7
| 3 / \ 9 20 / \ 15 7
There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
public class Solution { public int sumOfLeftLeaves(TreeNode root) { if (root == null) { return 0; } int result = 0; Queue<TreeNode> queue = new LinkedList<>(); queue.add(root); while (!queue.isEmpty()) { TreeNode node = queue.poll(); if (node.left != null && node.left.left == null && node.left.right == null) { result += node.left.val; }
if (node.left != null) { queue.add(node.left); } if (node.right != null) { queue.add(node.right); } } return result; } }
|