lc-go/solutions/1/q112/solution.go
2025-12-29 08:46:00 +09:00

26 lines
479 B
Go

package q112
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func traverse(node *TreeNode, tgtSum, curSum int) bool {
if node == nil {
return false
}
sum := curSum + node.Val
if node.Left == nil && node.Right == nil && sum == tgtSum {
return true
}
return traverse(node.Left, tgtSum, sum) ||
traverse(node.Right, tgtSum, sum)
}
func hasPathSum(root *TreeNode, targetSum int) bool {
return traverse(root, targetSum, 0)
}
var _ = hasPathSum