leetcode 404题

Posted by franki on October 7, 2022

leetcode 404题 左叶子之和

给定二叉树的根节点 root ,返回所有左叶子之和。

示例1

输入: root = [3,9,20,null,null,15,7] 
输出: 24 
解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24

示例2

输入: root = [1]
输出: 0

思路

正常递归即可,先递归左子树,然后递归右子树,相加起来即是结果

代码

var sumOfLeftLeaves = function(root) {
    if (root === null) {
        return 0;
    }

    if (root.left !== null && root.left.left === null && root.left.right === null) {
        return root.left.val + sumOfLeftLeaves(root.right);
    }

    return sumOfLeftLeaves(root.left) + sumOfLeftLeaves(root.right);
};

复杂度分析:

  • 时间复杂度: O(LogN)
  • 空间复杂度:O(1)