/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func sumNumbers(root *TreeNode) int {
return sum(root, 0)
}
func sum(root *TreeNode, lastNum int) int {
if root == nil {
return 0
}
if root.Left == nil && root.Right == nil {
return lastNum*10 + root.Val
}
levelVal := lastNum*10 + root.Val
num := sum(root.Left, levelVal) + sum(root.Right, levelVal)
return num
}