Siyahının sırasını dəyişmək
Çox asan
Zaman limiti 1 saniyə-dir
Yaddaş məhdudiyyəti 64 meqabayt
Verilmiş tam ədədlərdən ibarət bir massiv var. Bu ədədlərdən Bağlı Siyahı yaradın.
ReorderList
metodunu həyata keçirin. Bu metod, L[0] → L[1] → L[2] → ... → L[n-1] → L[n]
formasında olan siyahını L[0] → L[n] → L[1] → L[n-1] → L[2] → L[n-2] → ...
şəklində yenidən düzəldir.
Aşağıdakı interfeysə uyğun kod yazın:
class Node { public: int data; Node *next; Node() : next(NULL) {}; Node(int data, Node *next = NULL) : data(data), next(next) {}; }; class List { public: Node *head, *tail; List() : head(NULL), tail(NULL) {}; void addToTail(int val); // Val ədədini Bağlı Siyahının sonuna əlavə edin void ReorderList(void); // Siyahının elementlərini yuxarıda göstərildiyi kimi yenidən qruplaşdırın void Print(void); // Bağlı Siyahının elementlərini çap edin };
class Node: def __init__(self, data: int): self.data: int = data self.next: [Node | None] = None class List: def __init__(self): self.head: [Node | None] = None self.tail: [Node | None] = None def addToTail(self, val: int) -> None: """Val ədədini Bağlı Siyahının sonuna əlavə edin""" pass def ReorderList(self) -> None: """Siyahının elementlərini yuxarıda göstərildiyi kimi yenidən qruplaşdırın""" pass def Print(self) -> None: """Bağlı Siyahının elementlərini çap edin""" pass
Lazım olduqda əlavə metodlar yarada və ya istifadə edə bilərsiniz.
Giriş məlumatları
Birinci sətir n (1 ≤ n ≤ 100) ədədini ehtiva edir. İkinci sətir n tam ədədləri ehtiva edir.
Çıxış məlumatları
Elementləri yenidən qruplaşdırdıqdan sonra Print
metodundan istifadə edərək Bağlı Siyahının elementlərini çap edin.
Nümunələr
Giriş #1
Çıxış #1
Təqdimatlar 904
Qəbul dərəcəsi 56%