תיאור השאלה
Given an integer array nums sorted in ascending order, convert it to a height-balanced binary search tree.
איך פותרים?
בוחרים את האיבר האמצעי כשורש, כך שמשני הצדדים יש כמעט אותו מספר איברים. החצי השמאלי של המערך בונה ברקורסיה את תת־העץ השמאלי, והימני את הימני. סיבוכיות: O(n).
פתרון קוד
JavaScript
Python
function sortedArrayToBST(nums) {
function build(left, right) {
if (left > right) return null;
const mid = Math.floor((left + right) / 2);
return new TreeNode(nums[mid], build(left, mid - 1), build(mid + 1, right));
}
return build(0, nums.length - 1);
}
לעבור את ראיון העבודה הבא שלך בהצלחה
קורס דיגיטלי מקיף עם +25 שיעורים מעשיים, כשעתיים של וידאו, וליווי של מראיין בכיר.