המשימה
כתוב פעולה שמקבלת מחסנית של מספרים שלמים ומחזירה **מחסנית חדשה** זהה לה — אותם ערכים, באותו סדר. בסוף הפעולה המחסנית המקורית חייבת להיות במצבה ההתחלתי. דוגמה: מקורית [5,1,8] (5 בראש) → מוחזרת [5,1,8], והמקורית נשארת [5,1,8] הנחיות: • כל העברה בין שתי מחסניות הופכת את הסדר. שתי העברות מחזירות אותו. ספור כמה העברות אתה צריך כדי ששתי המחסניות יצאו בסדר הנכון. • השתמש במחסנית עזר אחת. אין צורך במערך ואין צורך ברשימה. • מחסנית ריקה מחזירה מחסנית ריקה. ממשק מבני הנתונים כבר מצורף למשימה. [מחסנית]
קוד הפתיחה
public class Main {
public static Stack<Integer> copyStack(Stack<Integer> st) {
// כתוב את הפתרון כאן — המקורית חייבת לחזור למצבה
return new Stack<Integer>();
}
public static void main(String[] args) {
Stack<Integer> st = new Stack<Integer>();
st.push(8);
st.push(1);
st.push(5);
Stack<Integer> c = copyStack(st);
System.out.println(st); // [5,1,8] — ללא שינוי
System.out.println(c); // [5,1,8]
c.push(99);
System.out.println(st); // [5,1,8] — העותק נפרד
System.out.println(copyStack(new Stack<Integer>())); // []
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.