专栏首页蛮三刀的后端开发专栏[Leetcode][python]Sum Root to Leaf Numbers

[Leetcode][python]Sum Root to Leaf Numbers

题目大意

一棵树的每个节点都是0-9中的某一个数字,现在把从根节点到某一个叶子节点之间所有节点的数字依次连接起来组成一个新的数字。要求所有从根节点到叶子节点组成的数字的和。

解题思路

DFS, 到了新的叶子节点就将preSum*10+root.val

代码

class Solution(object):
    def sumNumbers(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        return self._sumNumbers(root,0)

    def _sumNumbers(self, root, preSum):
        if not root:
            return 0
        preSum = preSum * 10 + root.val
        if root.left == None and root.right == None:
            return preSum
        return self._sumNumbers(root.left, preSum) + self._sumNumbers(root.right, preSum)

总结

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [Leetcode][python]Validate Binary Search Tree

    想到了中序遍历整棵树,那么结果应该是升序的。直接套用之前的中序遍历代码,稍加修改即可。 网上的答案很多都在分析负无穷正无穷(效率高?),我觉得能和之前中序遍...

    后端技术漫谈
  • [剑指offer][Java]滑动窗口的最大值

    链接:https://www.nowcoder.com/questionTerminal/1624bc35a45c42c0bc17d17fa0cba788 ...

    后端技术漫谈
  • [Leetcode][python]Path Sum/路径总和

    后端技术漫谈
  • FTP&samba 服务简单部署

    第1章 FTP服务部署 在Linux下,我们应用最广泛的FTP服务程序是 vsftpd (Very Secure FTP Daemon),从名字我们也可以看出,...

    惨绿少年
  • 二叉搜索树

    一、操作: 判断元素是否存在:递归的在左右子树中查找 查找最小元素:在左子树中递归或者循环 查找最大元素:在右子树中递归或循环 插入:递归的插入,大于则插入在节...

    lwen
  • nginx安装Fancy美化索引目录

    参考文档:官方帮助 [root@tokyo home]# wget http://nginx.org/download/nginx-1.10.1.tar.gz...

    行 者
  • 使用Dockerfile构建镜像-Docker for Web Developers(5)

    1.理解Dockerfile语法 语法命令 命令功能 举例 FROM 所有的dockerfile都必须以FROM命令指定镜像基于哪个基础镜像来制...

    八哥
  • Mysql中与时间相关的统计分析

    最近项目需要统计一段日期范围内,根据每分钟、几分钟、每天分别统计汇总某些事件/指标的发生总次数,平均发生次数,因此总结了Mysql中与时间处理、统计相关的资料。

    大江小浪
  • Linux使用Shell脚本部署jar包项目

    https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151....

    Dream城堡
  • iOS系统中导航栏的转场解决方案与最佳实践

    目前,开源社区和业界内已经存在一些 iOS 导航栏转场的解决方案,但对于历史包袱沉重的美团 App 而言,这些解决方案并不完美。有的方案不能满足复杂的页面跳转场...

    美团技术团队

扫码关注云+社区

领取腾讯云代金券