LeetCode404题---左叶子之和

LeetCode404题—左叶子之和

计算给定二叉树的所有左叶子之和。
3
/
9 20
/
15 7

在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24

思路:
因为是要求的是左叶子之和,我们所需要的条件无非就是:
(1)叶子节点
(2)左边的节点
怎么判断是否为叶子节点呢
那就是当前节点的左子节点和右子节点都没有
怎么是左边的节点呢?
那当前的节点一定是上一个节点的左子节点

找到满足条件,使用递归

递归代码如下:

		//如果是空树,直接返回0
		if(root == null){
            return 0;
        }
        int sum = 0;
        //如果左子节点不为空并且左右叶子节点都为空时,就可判断为左叶子节点
        if(root.left != null && root.left.left == null && root.left.right == null){
            sum += root.left.val;  //
        }
        //递归 左边的 + 右边的 + 中间的
        return sumOfLeftLeaves(root.left) + sumOfLeftLeaves(root.right) +sum;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

且-听风吟.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值