LeetCode 112. Path Sum

来源:互联网 发布:淘宝宝贝网址 编辑:程序博客网 时间:2024/06/05 06:14

题目:

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.


思路:用sum减去当前节点的值,直到遇到一个叶子节点,并且此时差值为0。在做题的时候,我犯了一个错误,忽略了叶子节点的定义。

叶子节点是度数为0的节点。


代码AC:

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public boolean hasPathSum(TreeNode root, int sum) {                    if(root == null)   return false;   else if(root.val == sum && root.left==null && root.right == null)   return true;      else   return (hasPathSum(root.left, sum-root.val) ||   hasPathSum(root.right, sum-root.val));    }}



0 0