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); }
}
Enter fullscreen mode
Exit fullscreen mode

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); }
} 
Enter fullscreen mode
Exit fullscreen mode

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)


Discover more from Coursity

Subscribe to get the latest posts sent to your email.

Leave a Comment

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

Discover more from Coursity

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top
Please set api key.