您的位置:首页 > 编程语言 > Python开发

leetcode之Sum Root to Leaf Numbers

2015-12-30 10:34 651 查看
跟path sum系列用同一种思路,将所有的跟到叶提取出来,再组合成为一个数字,进行相加。代码如下:

# 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 sumNumbers(self, root):
"""
:type root: TreeNode
:rtype: int
"""
pathlist = []
def showpath(list1, root):
if not root:
return []
list2 = list1[::]
if list2 == []:
list2.append(root.val)
else:
list2.append(root.val)
if not root.left and not root.right:
pathlist.append(list2)
else:
if root.left:
list1 = list2
showpath(list1, root.left)
if root.right:
list1 = list2
showpath(list1, root.right)
return pathlist
s = showpath([], root)
if s == []:
return 0
for i in range(len(s)):
for j in range(len(s[i])):
s[i][j] = str(s[i][j])
for i in range(len(s)):
s[i] = int(''.join(s[i]))
return sum(s)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息