Advertisement
Asif_Anwar

Q-2

Nov 19th, 2021
843
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.10 KB | None | 0 0
  1. def updateList(head, number):
  2.     curr_node = head
  3.     count = 0;
  4.     while curr_node != None:
  5.         count+=1
  6.         curr_node = curr_node.next
  7.     rem = number % count
  8.  
  9.     # if result of number % number of nodes if not a valid index for insertion/removal
  10.     if rem > count:
  11.         return head
  12.  
  13.     if rem % 2 == 0:
  14.         # if result of number % number of nodes if not a valid index for removal
  15.         if(rem == count):
  16.             return head
  17.         temp = 0
  18.         curr_node = head
  19.         while True:
  20.             if temp == rem-1:
  21.                 prev_node = curr_node.prev
  22.                 next_node = curr_node.next
  23.                 prev_node.next = next_node
  24.                 next_node.prev = prev_node
  25.                 return
  26.             temp += 1
  27.             curr_node = curr_node.next
  28.     else:
  29.         temp = 0
  30.         while True:
  31.             if temp==rem:
  32.                 new_node = Node(number)
  33.                 new_node.prev = curr_node.prev
  34.                 new_node.next = curr_node
  35.                 return
  36.             temp += 1
  37.             curr_node = curr_node.next
  38.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement