计算给定二叉树的所有左叶子之和。
题解:用DFS算法对二叉树进行遍历,判断当前结点是否既是叶子又是左孩子,如果是,则将结点val值加到结果上
class Solution {
private final int leftLeave=0;
private final int rightLeave=1;
public int sumOfLeftLeaves(TreeNode root) {
return DFS(root,rightLeave);
}
private int DFS(TreeNode node,int child){
if(node==null)
return 0;
if(node.left==null&&node.right==null&&child==leftLeave)
return node.val;
else
return DFS(node.left,leftLeave)+DFS(node.right,rightLeave);
}
}