package main
import . "nc_tools"
/*
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
/**
*
* @param root TreeNode类
* @param sum int整型
* @return bool布尔型
*/
func hasPathSum( root *TreeNode , sum int ) bool {
// write code here
if root == nil {
return false
}
var dfs func(root *TreeNode, tmp int) bool
dfs = func(root *TreeNode, tmp int) bool {
if root == nil {
return false
}
tmp += root.Val
if root.Right == nil && root.Left == nil && tmp == sum {
return true
}
return dfs(root.Left, tmp) || dfs(root.Right, tmp )
}
return dfs(root, 0)
}