add new solutions
This commit is contained in:
parent
0f5f9e331c
commit
a7ff717b7a
7 changed files with 221 additions and 0 deletions
29
solutions/10/q1022/solution.go
Normal file
29
solutions/10/q1022/solution.go
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
package q1022
|
||||
|
||||
type TreeNode struct {
|
||||
Val int
|
||||
Left *TreeNode
|
||||
Right *TreeNode
|
||||
}
|
||||
|
||||
func sum(node *TreeNode, prefix int, ret *int) {
|
||||
if node == nil {
|
||||
return
|
||||
}
|
||||
num := prefix<<1 + node.Val
|
||||
|
||||
if node.Left == nil && node.Right == nil {
|
||||
*ret += num
|
||||
} else {
|
||||
sum(node.Left, num, ret)
|
||||
sum(node.Right, num, ret)
|
||||
}
|
||||
}
|
||||
|
||||
func sumRootToLeaf(root *TreeNode) int {
|
||||
ret := 0
|
||||
sum(root, 0, &ret)
|
||||
return ret
|
||||
}
|
||||
|
||||
var _ = sumRootToLeaf
|
||||
Loading…
Add table
Add a link
Reference in a new issue