题目描述:
计算给定二叉树的所有左叶子之和。
示例:
在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24。
我的解答:
递归,左右结点不同处理。
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public int sumOfLeftLeaves(TreeNode root) {
return right(root);
}
public int left(TreeNode node){
if(node==null){
return 0;
}
if(node.left==null&&node.right==null){
return node.val;
}
return left(node.left)+right(node.right);
}
public int right(TreeNode node){
if(node==null){
return 0;
}
return left(node.left)+right(node.right);
}
}