Advertisement
DeepRest

Reverse Linked List

Jun 23rd, 2021
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. class ListNode():
  2. def __init__(self, val=0, next=None):
  3. self.val = val
  4. self.next = next
  5.  
  6. class Solution():
  7. def reverseInBetween(self, head, left, right):
  8. prevLeft, Left = None, head
  9. for i in range(left-1):
  10. prevLeft = Left
  11. Left = Left.next
  12.  
  13. curr, prev = Left.next, Left
  14. for i in range(right-left):
  15. temp = curr.next
  16. curr.next = prev
  17. prev = curr
  18. curr = temp
  19.  
  20. if prevLeft == None:
  21. head = prev
  22. else:
  23. prevLeft.next = prev
  24. Left.next = curr
  25.  
  26. return head
  27.  
  28.  
  29. #arr = [1, 2, 3, 4]
  30. #arr = [1, 2,3, 4, 5]
  31. arr = [5]
  32. left, right = 1,1
  33. head = temp = ListNode(arr[0])
  34.  
  35. for i in arr[1:]:
  36. temp.next = ListNode(i)
  37. temp = temp.next
  38.  
  39. obj = Solution()
  40. head = obj.reverseInBetween(head, left, right)
  41.  
  42. curr = head
  43. while(curr != None):
  44. print(curr.val)
  45. curr = curr.next
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement