Design Linked List
O'zingizning linked listingizn implementatsiyasini ishlab chiqing. Singly yoki Doubly linked listni tanlashingiz mumkin.
Singly linked listdagi nodeda 2ta attribut bo'lishi kerak: val
va next
. val
nodening qiymati va next
keyingi nodega pointer/reference(havola).
Agar doubly linked listdan foydalanishni xohlasangiz, linked listdagi oldingi nodeni ko'rsatib turadigan prev
attributeni qo'shishingiz kerak. Linked listdagi barcha node 0-indexdan boshlanadi deb faraz qiling.
MyLinkedList
classini amalga oshiring:
MyLinkedList() Initializes the MyLinkedList object.
int get(int index)
Linked listdagi index-nodeni qaytaradi. Agar index yaroqli bo'lmasa -1 qaytaradi.void addAtHead(int val)
Linked listning birinchi elementidan oldinval
qiymatli node qo'shadi. Qo'shgandan so'ng, yangi node linked listning birinchi nodei bo'ladi.void addAtTail(int val)
Linked listning oxirgi elementi sifatidaval
qiymatli node qo'shadi.void addAtIndex(int index, int val)
Linked listdagiindex-node
dan oldingval
qiymayli nodeni qo'shishadi. Agar index linked list uzunligiga teng bo'lsa, node linked list oxiridan qo'shiladi. Agar uzunligidan kattaroq bo'lsa node qo'shilmaydi.void deleteAtIndex(int index)
Agar index yaroqli bo'lsa listdagi index-nodeni o'chiradi.
Constraints:
0 <= index, val <= 1000
LinkedList qurib beruvchi kutubxonalardan foydalanmang,
get
,addAtHead
,addAtTail
,addAtIndex
vadeleteAtIndex
larga ko'pi bilan2000
ta qo'ng'iroq qilinadi.
My Solution
Last updated
Was this helpful?