Tree: Depth-First Search - Sum Root to Leaf Numbers
Examine the following buggy code snippet for summing root-to-leaf numbers using DFS recursion. Which line contains the subtle bug causing incorrect sums on some inputs?
class Solution:
def sumNumbers(self, root: TreeNode) -> int:
self.total = 0
def dfs(node, current_number):
if not node:
return
current_number = current_number * 10 + node.val
self.total += current_number # Bug here
if not node.left and not node.right:
return
dfs(node.left, current_number)
dfs(node.right, current_number)
dfs(root, 0)
return self.total
