המשימה
עלה הוא צומת שאין לו בן שמאלי ואין לו בן ימני.
כתוב פעולה **רקורסיבית** שמקבלת שורש של עץ בינארי ומחזירה כמה עלים יש בו.
דוגמה עבור העץ שבקוד — יש בו 2 עלים.
הנחיות:
• שני מקרי בסיס: עץ ריק (0), וצומת שהוא עלה (1).
• השתמש ב-hasLeft ו-hasRight.
ממשק מבני הנתונים כבר מצורף למשימה.
```ds:tree
{"title":"העלים הם 1 ו-7. הצומת 2 אינו עלה — יש לו בן שמאלי","nodes":["4","2","7","1"]}
```
קוד הפתיחה
public class Main {
public static int countLeaves(BinNode<Integer> root) {
// כתוב את הפתרון כאן — רקורסיבי
return 0;
}
public static void main(String[] args) {
// 4
// / \
// 2 7 עלים: 1 ו-7
// /
// 1
BinNode<Integer> one = new BinNode<Integer>(1);
BinNode<Integer> two = new BinNode<Integer>(one, 2, null);
BinNode<Integer> sev = new BinNode<Integer>(7);
BinNode<Integer> root = new BinNode<Integer>(two, 4, sev);
System.out.println(countLeaves(root)); // 2
System.out.println(countLeaves(sev)); // 1
System.out.println(countLeaves(null)); // 0
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.