129. 求根到叶子节点数字之和
给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。
例如,从根到叶子节点路径 1->2->3 代表数字 123。
计算从根到叶子节点生成的所有数字之和。
说明: 叶子节点是指没有子节点的节点。
思路:dfs即可
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func dfs(root *TreeNode, now int) int{
if root == nil{
return 0
}
if root.Left == nil && root.Right == nil{
sum := now*10 + root.Val
return sum
}
return dfs(root.Left,now*10 + root.Val) + dfs(root.Right,now*10 + root.Val)
}
func sumNumbers(root *TreeNode) int {
return dfs(root,0)
}