Path Sum | LeetCode | Java

path-sum-|-leetcode-|-java

According to the problem we have to find the sum from every root-to-leaf path and check whether it is equal to the targetSum.
So, the intuitive code will be

class Solution {
    public boolean hasPathSum(TreeNode root, int targetSum) {
        return pathSum(root, 0, targetSum);
    }

    boolean pathSum(TreeNode node, int sum, int targetSum){
        if(node==null)
            return false;

        sum += node.val;

        if(sum==targetSum)
            return true;

        return pathSum(node.left, sum, targetSum) || pathSum(node.right, sum, targetSum);

    }
}

Verdict : 100 / 117 test cases passed.

Hidden test case gives the clear picture of the entirety of the question.

Hidden test case

Our sum should not be just based on node value but root-to-leaf path.
After reaching the leaf node only are we allowed to take the sum of it.
So, the code modifies slightly.

class Solution {
    public boolean hasPathSum(TreeNode root, int targetSum) {
        return pathSum(root, 0, targetSum);
    }

    boolean pathSum(TreeNode node, int sum, int targetSum){
        if(node==null)
            return false;

        sum += node.val;

        //we are adding the condition to identify leaf node. If node.left and node.right==null indicates the "Leaf Node"

        if(node.left==null && node.right==null && sum==targetSum)
            return true;

        return pathSum(node.left, sum, targetSum) || pathSum(node.right, sum, targetSum);

    }
}

Thanks for reading🥰.
Feel free to comment🖌️ and like the post💓
Follow for more 🤝 && Happy Coding🚀👩‍💻

Don’t forget to check-out my other socials😍:
Github
Hashnode
Medium
Twitter(X)

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post
this-amount-is-all-the-marketing-budget-you-need

This Amount Is All The Marketing Budget You Need

Next Post
the-advanced-guide-to-email-marketing-for-ecommerce

The Advanced Guide to Email Marketing for Ecommerce

Related Posts