129. 求根到葉子節點數字之和(中等,樹)
阿新 • • 發佈:2018-12-09
給定一個二叉樹,它的每個結點都存放一個 0-9
的數字,每條從根到葉子節點的路徑都代表一個數字。計算從根到葉子節點生成的所有數字之和。
示例 1:
輸入: [1,2,3] 1 / \ 2 3 輸出: 25
思路:先求出每條路徑上的數字組成的字串列表,然後把這些int數值相加成和。
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def sumNumbers(self, root): """ :type root: TreeNode :rtype: int """ def dummy(root,l): if not root: return None if not root.left and not root.right: result.append(l+str(root.val)) if root.left: dummy(root.left,l+str(root.val)) if root.right: dummy(root.right,l+str(root.val)) result=[] dummy(root,'') summ=0 for i in result: summ+=int(i) return summ
執行用時: 48 ms, 在Sum Root to Leaf Numbers的Python3提交中擊敗了92.58%的使用者