Explain path sum.
01
01
Understand the problem
treesrecursion
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
DFS subtracting the target
Run Playgroundclass TreeNode:
def __init__(self, val, left=None, right=None):
self.val, self.left, self.right = val, left, right
def has_path_sum(root, target):
if not root:
return False
if not root.left and not root.right: # leaf
return target == root.val
rest = target - root.val
return has_path_sum(root.left, rest) or has_path_sum(root.right, rest)
# --- demo ---
root = TreeNode(5, TreeNode(4, TreeNode(11)), TreeNode(8))
print(has_path_sum(root, 20)) # True (5 -> 4 -> 11)
print(has_path_sum(root, 21)) # False05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.