题目
Find the sum of all left leaves in a given binary tree.
Example:
3/ \9 20/ \15 7There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.
题意
求树中所有左叶结点的值之和。
思路
递归遍历判断是不是左叶结点即可。
代码实现
Java
class Solution {public int sumOfLeftLeaves(TreeNode root) {return dfs(root, false);}private int dfs(TreeNode p, boolean left) {if (p == null) {return 0;}if (p.left == null && p.right == null) {return left ? p.val : 0;}return dfs(p.left, true) + dfs(p.right, false);}}
