| 123456789101112131415161718192021222324252627282930313233343536 | package main/** * Definition for a binary tree node. * type TreeNode struct { *     Val int *     Left *TreeNode *     Right *TreeNode * } */func sumNumbers(root *TreeNode) int {	sum := 0	if root == nil {		return sum	}	sumNumbersHelper(root, 0, &sum)	return sum}func sumNumbersHelper(root *TreeNode, prefix int, sum *int) {	prefix = prefix*10 + root.Val	hasLeft, hasRight := root.Left != nil, root.Right != nil	if hasLeft {		sumNumbersHelper(root.Left, prefix, sum)	}	if hasRight {		sumNumbersHelper(root.Right, prefix, sum)	}	if !hasLeft && !hasRight {		*sum += prefix	}}// func main() {// 	println(sumNumbers(sortedArrayToBST([]int{1, 2, 3})))// }
 |