解题思路大同小异,但是分享一下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) }