【leetcode】【91.6】【M】Sum Root to Leaf Numbers
来源:互联网 发布:协同通信软件下载 编辑:程序博客网 时间:2024/06/05 18:22
Given a binary tree containing digits from
An example is the root-to-leaf path
Find the total sum of all root-to-leaf numbers.
For example,
1
/ \
2 3
The root-to-leaf path
The root-to-leaf path
Return the sum = 12 + 13 =
还是得用递归做
开始的时候总是出问题,关键就在于,如果输入是12345的时候,13对应的是13,而不是130
也就是说不能按照每一层来算,因为同样是1,在124这条路径上,1表示一百,在13这条路径上,表示的是10
关键点就在于,什么时候把当前结果加到总的结果上——应该是到叶子节点的时候,再一起加上去。用summ表示当前这条路径上的当前结果。只有这样,才能通过参数传进去。
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def __init__(self):
self.res = 0
def dfs(self,root,summ):
if root == None:
return
summ = root.val + summ*10
if root.left:
self.dfs(root.left,summ)
if root.right:
self.dfs(root.right,summ)
if root.left == None and root.right == None:
self.res += summ
#print root.val,summ
def sumNumbers(self, root):
self.dfs(root,0)
#print self.res
return self.res
"""
:type root: TreeNode
:rtype: int
"""
0-9
only, each root-to-leaf path could represent a number.An example is the root-to-leaf path
1->2->3
which represents the number 123
.Find the total sum of all root-to-leaf numbers.
For example,
1
/ \
2 3
The root-to-leaf path
1->2
represents the number 12
.The root-to-leaf path
1->3
represents the number 13
.Return the sum = 12 + 13 =
25
.还是得用递归做
开始的时候总是出问题,关键就在于,如果输入是12345的时候,13对应的是13,而不是130
也就是说不能按照每一层来算,因为同样是1,在124这条路径上,1表示一百,在13这条路径上,表示的是10
关键点就在于,什么时候把当前结果加到总的结果上——应该是到叶子节点的时候,再一起加上去。用summ表示当前这条路径上的当前结果。只有这样,才能通过参数传进去。
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def __init__(self):
self.res = 0
def dfs(self,root,summ):
if root == None:
return
summ = root.val + summ*10
if root.left:
self.dfs(root.left,summ)
if root.right:
self.dfs(root.right,summ)
if root.left == None and root.right == None:
self.res += summ
#print root.val,summ
def sumNumbers(self, root):
self.dfs(root,0)
#print self.res
return self.res
"""
:type root: TreeNode
:rtype: int
"""
0 0
- 【leetcode】【91.6】【M】Sum Root to Leaf Numbers
- leetcode 86: Sum Root to Leaf Numbers
- [LeetCode] Sum root to leaf numbers
- LeetCode : Sum Root to Leaf Numbers
- [leetcode] Sum Root to Leaf Numbers
- 【leetcode】Sum Root to Leaf Numbers
- LeetCode之sum root to leaf numbers
- leetcode:Sum Root to Leaf Numbers
- [LeetCode]Sum Root to Leaf Numbers
- [Leetcode]Sum Root to Leaf Numbers
- [leetcode]Sum Root to Leaf Numbers
- leetcode Sum Root to Leaf Numbers
- LeetCode-Sum Root to Leaf Numbers
- [leetcode] Sum Root to Leaf Numbers
- LeetCode 129: Sum Root to Leaf Numbers
- LeetCode - Sum Root to Leaf Numbers
- leetcode之Sum Root to Leaf Numbers
- LeetCode | Sum Root to Leaf Numbers
- ViewPagerIndicator中 TabPageIndicator的遇到的问题
- Android应用打包安装过程(Run as Android Application )
- iOS---NSUserDefaults插入报错attempt to insert non-property list object
- array.xml的定义及调用
- 一个最简单的try catch
- 【leetcode】【91.6】【M】Sum Root to Leaf Numbers
- 万能适配器 CommonAdapter
- 学习Hadoop中的几个问题
- PopupWindows全屏及半透明背景代码
- emacs org文档转换成html
- ios 那些不能错过的Xcode插件
- jQuery高级事件
- wamp设置mysql编码格式
- mysql数据库建表失败处理一则