解题思路大同小异,但是分享一下Go的实现
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
return dfs(root, sum)
}
func dfs(node *TreeNode, sum int) bool {
if node == nil {
return false
}
if node.Left == nil && node.Right == nil && node.Val == sum {
return true
}
return dfs(node.Left, sum - node.Val) || dfs(node.Right, sum - node.Val)
}


京公网安备 11010502036488号