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