המשימה
בעץ שלמטה יש שדרה ימנית: מהשורש ימינה, ומשם ימינה שוב, עד שנגמר. מלאו את הטבלה. כל שורת מעקב היא המצב אחרי סיבוב שלם אחד של הלולאה. בעמודת p רשמו את הערך שבצומת, או null כשהמצביע יצא מהעץ. המשימה: כתבו פעולה שמקבלת שורש של עץ בינארי ומחזירה את סכום הצמתים בשדרה ה*שמאלית* — מהשורש שמאלה עד הסוף. עץ ריק מחזיר 0. עבור העץ שלמטה: השדרה השמאלית היא 8, 3, 1 והסכום 12. [עץ בינארי] [טבלת מעקב]
קוד הפתיחה
public class Main {
public static int leftSpineSum(BinNode<Integer> root) {
// כתוב את הפתרון כאן
return 0;
}
public static void main(String[] args) {
BinNode<Integer> one = new BinNode<Integer>(1);
BinNode<Integer> six = new BinNode<Integer>(6);
BinNode<Integer> three = new BinNode<Integer>(one, 3, six);
BinNode<Integer> f14 = new BinNode<Integer>(14);
BinNode<Integer> ten = new BinNode<Integer>(null, 10, f14);
BinNode<Integer> root = new BinNode<Integer>(three, 8, ten);
System.out.println(leftSpineSum(root)); // 12
System.out.println(leftSpineSum(ten)); // 10
System.out.println(leftSpineSum(null)); // 0
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.