תרגול מדעי המחשב

ספירת חוליות בשרשרת

קל Java

המשימה

כתוב פעולה שמקבלת מצביע לחוליה הראשונה בשרשרת ומחזירה כמה חוליות יש בה.

דוגמאות:
  1 → 7 → 4 → null   →  3
  null                →  0

הנחיות:
• עבור על השרשרת עם משתנה עזר מסוג Node, והתקדם עם getNext עד null.
• אל תשנה את השרשרת.
• שים לב: הפעולה מקבלת Node ולא List — זו הצורה שבה השאלות מנוסחות בבגרות.

המחלקה Node כבר מצורפת למשימה.

[רשימה מקושרת]

קוד הפתיחה

public class Main {

    /** מחזירה כמה חוליות יש בשרשרת שמתחילה ב-head. */
    public static int count(Node<Integer> head) {
        // כתוב את הפתרון כאן
        return 0;
    }

    // ── עזר, לא חלק מהמשימה ──────────────────────────────────────────
    public static Node<Integer> build(int[] values) {
        Node<Integer> head = null;
        for (int i = values.length - 1; i >= 0; i--)
            head = new Node<Integer>(values[i], head);
        return head;
    }

    public static void print(Node<Integer> head) {
        Node<Integer> pos = head;
        while (pos != null) {
            System.out.print(pos.getInfo() + " -> ");
            pos = pos.getNext();
        }
        System.out.println("null");
    }

    public static void main(String[] args) {
        Node<Integer> head = build(new int[]{1, 7, 4});
        print(head);                       // 1 -> 7 -> 4 -> null

        System.out.println(count(head));   // 3
        System.out.println(count(null));   // 0
    }
}

כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.

התרגיל הבא בניית שרשרת והדפסתה ‹
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון — כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות בדיקה חיצוני.