Advertisement
jinhuang1102

129. Sum Root to Leaf Numbers

Dec 4th, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.88 KB | None | 0 0
  1. #典型的DFS的题目,注意的是在dfs中,
  2. if root.left:  
  3.     temp = temp*10 + root.val # 如果用这种方法加当前root.val的话,在后面的recurvise 求 root.right的时候会有错误,因为temp在left的时候被加之后就不是原本的值了。
  4.  
  5. class Solution:
  6.     def dfs(self, root, temp, res):
  7.         if not root.left and not root.right:
  8.             res.append(temp*10 + root.val)
  9.             return
  10.        
  11.         if root.left:
  12.             self.dfs(root.left, temp*10 + root.val, res)
  13.        
  14.         if root.right:
  15.             self.dfs(root.right, temp*10 + root.val, res)
  16.            
  17.         return
  18.    
  19.    
  20.     def sumNumbers(self, root):
  21.         """
  22.        :type root: TreeNode
  23.        :rtype: int
  24.        """
  25.         if not root:
  26.             return 0
  27.        
  28.         res = []
  29.         self.dfs(root, 0, res)
  30.         return sum(res)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement