Sum Root to Leaf Numbers
Problem: Sum Root to Leaf Numbers
We just use depth-first tree to form a root-to-leaf number at leaf nodes and add them to the answer.
Code in Python:
# 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
"""
if not root: return 0
self.sum = 0
def dfs(node, num):
_num = num*10+node.val
if node.left: dfs(node.left, _num)
if node.right: dfs(node.right, _num)
if not node.left and not node.right: self.sum += _num
dfs(root, 0)
return self.sum