lc-go/solutions/1/q112/solution.go

27 lines
561 B
Go

// Package q112 implements a solution for https://leetcode.com/problems/path-sum/
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