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
| class Solution { private static class ResultHolder { private int sumOfLeftLeaves; }
public int sumOfLeftLeaves(TreeNode root) { ResultHolder resultHolder = new ResultHolder(); dfs(resultHolder, root, false); return resultHolder.sumOfLeftLeaves; }
private void dfs(ResultHolder resultHolder, TreeNode root, boolean isLeft) { if (root.left == null && root.right == null) { if (isLeft) { resultHolder.sumOfLeftLeaves += root.val; } }
if (root.left != null) { dfs(resultHolder, root.left, true); } if (root.right != null) { dfs(resultHolder, root.right, false); } } }
|