题目描述:
解题思路:
深搜
参考代码:
boolean flag=false;
int tempsum=0;
public boolean hasPathSum(TreeNode root, int sum) {
if(root==null)
return flag;
dfs(root,sum);
return flag;
}
public void dfs(TreeNode root,int sum){
if(root==null)
return;
tempsum+=root.val;
if(tempsum==sum&&root.left==null&&root.right==null)
{
flag=true;
}
dfs(root.left,sum);
dfs(root.right,sum);
tempsum-=root.val;
}
public boolean hasPathSum(TreeNode root, int sum) {
if(root==null)
return false;
if(root.left==null&&root.right==null)
return root.val==sum;
return hasPathSum(root.left,sum-root.val)||hasPathSum(root.right,sum-root.val);
}