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