Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #典型的DFS的题目,注意的是在dfs中,
- if root.left:
- temp = temp*10 + root.val # 如果用这种方法加当前root.val的话,在后面的recurvise 求 root.right的时候会有错误,因为temp在left的时候被加之后就不是原本的值了。
- class Solution:
- def dfs(self, root, temp, res):
- if not root.left and not root.right:
- res.append(temp*10 + root.val)
- return
- if root.left:
- self.dfs(root.left, temp*10 + root.val, res)
- if root.right:
- self.dfs(root.right, temp*10 + root.val, res)
- return
- def sumNumbers(self, root):
- """
- :type root: TreeNode
- :rtype: int
- """
- if not root:
- return 0
- res = []
- self.dfs(root, 0, res)
- return sum(res)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement