xianjianlf2/javascript-algorithms

📝Leetcode 404.左叶子之和

Opened this issue · 0 comments

题目🌵

📝Leetcode 404.左叶子之和

✏️https://leetcode.cn/problems/sum-of-left-leaves/description/


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

示例 1:

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

解题思路💡

  • 递归
var sumOfLeftLeaves = function (root) {
  let num = 0
  const sum = (node) => {
    if (node === null) {
      return
    }
    // 左叶子节点
    if (node.left && !node.left.left && !node.left.right) {
      num += node.left.val
    }
    // 不是左叶子节点,继续递归
    sum(node.left)
    sum(node.right)
  }
  sum(root)
  return num
}