leetcod刷题 404. 左叶子之和

别说谁变了你拦得住时间么 提交于 2019-12-12 13:12:54

题目描述:
计算给定二叉树的所有左叶子之和。

示例:
在这里插入图片描述
在这个二叉树中,有两个左叶子,分别是 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);
    }

}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!