একটি সিঙ্গলি লিংকড লিস্ট, পজিশন pos এবং মান val দেওয়া আছে। pos সূচকের আগে val ইনসার্ট করুন।
উদাহরণ
nums = [1,5,3,6,8], pos = 3, val = 7 → আউটপুট: [1,5,3,7,6,8]
এলগরিদম
- নতুন নোড
newতৈরি করুনvalদিয়ে। - যদি
pos == 0:new.next = head, রিটার্নnew। temp := head;pos != 1পর্যন্তtemp = temp.next,pos--।new.next = temp.next,temp.next = new।headরিটার্ন করুন।
পাইথন কোড
class ListNode:
def __init__(self, data, next=None):
self.val = data
self.next = next
def make_list(elements):
head = ListNode(elements[0])
for element in elements[1:]:
ptr = head
while ptr.next:
ptr = ptr.next
ptr.next = ListNode(element)
return head
def print_list(head):
ptr = head
print('[', end='')
while ptr:
print(ptr.val, end=', ')
ptr = ptr.next
print(']')
def solve(list_head, pos, val):
new = ListNode(val)
if pos == 0:
new.next = list_head
return new
temp = list_head
while temp and pos != 1:
temp = temp.next
pos -= 1
new.next = temp.next
temp.next = new
return list_head
nums = [1,5,3,6,8]
pos = 3
val = 7
list_head = make_list(nums)
list_head = solve(list_head, pos, val)
print_list(list_head) # আউটপুট: [1, 5, 3, 7, 6, 8, ]
ইনপুট / আউটপুট
[1,5,3,6,8], 3, 7 [1, 5, 3, 7, 6, 8, ]