[力扣 129]求根节点到叶节点之和

题目描述:
在这里插入图片描述
在这里插入图片描述
思路:
可以采用递归+回溯。递归访问左->右->根节点并记录路径。到叶节点后,计算数字并相加。

代码:

class Solution:
    def sumNumbers(self, root: TreeNode) -> int:
        res = 0
        path = []
        def backtrace(root):
            nonlocal res
            if not root: return # 节点空则返回
            path.append(root.val)
            if not root.left and not root.right: # 遇到了叶子节点
                res += get_sum(path)
            if root.left: # 左子树不空
                backtrace(root.left)
            if root.right: # 右子树不空
                backtrace(root.right)
            path.pop()

        def get_sum(arr):
            s = 0
            for i in range(len(arr)):
                s = s * 10 + arr[i]
            return s

        backtrace(root)
        return res

最近更新

  1. TCP协议是安全的吗?

    2024-04-03 18:00:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-03 18:00:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-03 18:00:07       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-03 18:00:07       20 阅读

热门阅读

  1. 第1章 开始

    2024-04-03 18:00:07       21 阅读
  2. 浅谈无文件攻击

    2024-04-03 18:00:07       11 阅读
  3. P1352 没有上司的舞会 【深搜树型DP】

    2024-04-03 18:00:07       17 阅读
  4. Solidity Uniswap V2 Router swapExactTokensForTokens

    2024-04-03 18:00:07       12 阅读
  5. free函数的用法和注意事项

    2024-04-03 18:00:07       14 阅读
  6. 基于Spring Boot的高校科研信息管理系统

    2024-04-03 18:00:07       15 阅读
  7. C 函数指针与回调函数

    2024-04-03 18:00:07       13 阅读
  8. 深度学习该如何入门?

    2024-04-03 18:00:07       13 阅读
  9. 【MySQL】数据类型2

    2024-04-03 18:00:07       13 阅读
  10. OpenCV轮廓分析

    2024-04-03 18:00:07       16 阅读
  11. 编写HTML文件时的注意事项

    2024-04-03 18:00:07       23 阅读