`
huntfor
  • 浏览: 201294 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[leetcode]Path Sum

 
阅读更多

新博文地址:[leetcode]Path Sum

Path Sum

写道
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.

For example:
Given the below binary tree and sum = 22,
          5
        /     \
      4        8
    /         /     \
  11     13       4
 /    \                  \
7    2                  1
return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.

 

找路径,递归实现,很简单,不多啰嗦

    public boolean hasPathSum(TreeNode root, int sum) {
		if ((root == null) || (root.left == null && root.right == null && root.val != sum)) {
			return false;
		}else if(root.left == null && root.right == null && root.val == sum){
			return true;
		} else {
			boolean left = false;
			boolean right = false;
			if (root.left != null) {
				left = hasPathSum(root.left, sum - root.val);
			}
			if (root.right != null) {
				right = hasPathSum(root.right, sum - root.val);
			}
			return left || right;
		}
	}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics