package q129 type TreeNode struct { Val int Left *TreeNode Right *TreeNode } func sumNums(node *TreeNode, prefix int) int { prefix = prefix*10 + node.Val if node.Left == nil && node.Right == nil { return prefix } sum := 0 if node.Left != nil { sum += sumNums(node.Left, prefix) } if node.Right != nil { sum += sumNums(node.Right, prefix) } return sum } func sumNumbers(root *TreeNode) int { if root == nil { return 0 } return sumNums(root, 0) } var _ = sumNumbers