תיאור השאלה
Given the root of a binary tree and an integer targetSum, return true if the tree has a root-to-leaf path whose values add up to targetSum.
איך פותרים?
יורדים ברקורסיה ומחסירים את ערך הצומת מהיעד. כשמגיעים לעלה, בודקים אם מה שנשאר שווה בדיוק לערך שלו. מספיק שאחד הענפים יחזיר true. סיבוכיות: O(n).
פתרון קוד
JavaScript
Python
function hasPathSum(root, targetSum) {
if (!root) return false;
if (!root.left && !root.right) return root.val === targetSum;
const rest = targetSum - root.val;
return hasPathSum(root.left, rest) || hasPathSum(root.right, rest);
}
לעבור את ראיון העבודה הבא שלך בהצלחה
קורס דיגיטלי מקיף עם +25 שיעורים מעשיים, כשעתיים של וידאו, וליווי של מראיין בכיר.