תיאור השאלה
Given the root of a binary tree, return the level order traversal of its nodes' values: level by level, from left to right.
איך פותרים?
BFS עם תור. בתחילת כל סיבוב גודל התור הוא בדיוק מספר הצמתים ברמה הנוכחית. שולפים את כולם לרשימה אחת ומכניסים את הבנים שלהם לתור לרמה הבאה. סיבוכיות: O(n).
פתרון קוד
JavaScript
Python
function levelOrder(root) {
if (!root) return [];
const result = [];
let queue = [root];
while (queue.length) {
const next = [];
result.push(queue.map((node) => node.val));
for (const node of queue) {
if (node.left) next.push(node.left);
if (node.right) next.push(node.right);
}
queue = next;
}
return result;
}
לעבור את ראיון העבודה הבא שלך בהצלחה
קורס דיגיטלי מקיף עם +25 שיעורים מעשיים, כשעתיים של וידאו, וליווי של מראיין בכיר.