404.左叶子之和
计算给定二叉树的所有左叶子之和。
示例:
1 2 3 4 5 6 7
| 3 / \ 9 20 / \ 15 7
在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24
|
Solution
左叶子,那就只添加左孩子的左孩子为空以及左孩子的右孩子为空的节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| class Solution { private int nums = 0;
public void dfs(TreeNode root) { if (root == null) return;
if (root.left != null && root.left.left == null && root.left.right == null) { nums += root.left.val; }
dfs(root.left); dfs(root.right); }
public int sumOfLeftLeaves(TreeNode root) { dfs(root); return nums; } }
|