判断一颗二叉树中是否存在一天路径(从根节点到叶子节点)的val值之和等于给定的sum。注意判断root为null的时候。
成也递归败也递归。。。。。
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public boolean hasPathSum(TreeNode root, int sum) {
return PathSum(root, 0, sum);
}
public boolean PathSum(TreeNode root, int val, int sum) {
if(root == null)
return false;
val += root.val;
if(root.left==null && root.right==null) {
if(val == sum) {
return true;
}
else {
return false;
}
}
return PathSum(root.left, val, sum) || PathSum(root.right, val, sum);
}
}