From 56be99b165c3bc1233eaf4d4183351513975e4e0 Mon Sep 17 00:00:00 2001 From: Shubham Kumar Singh <81859951+Shubh-k04@users.noreply.github.com> Date: Sun, 16 Oct 2022 23:50:46 +0530 Subject: [PATCH 1/2] Reverse Link List Iterrative Reversing a linked list using iterative method --- Reverse Link List | 98 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 Reverse Link List diff --git a/Reverse Link List b/Reverse Link List new file mode 100644 index 0000000..e33677c --- /dev/null +++ b/Reverse Link List @@ -0,0 +1,98 @@ + +from sys import stdin, setrecursionlimit +setrecursionlimit(10 ** 6) + +#Following is the Node class already written for the Linked List +class Node : + def __init__(self, data) : + self.data = data + self.next = None + + + +#Iterative Approach +def Reverse(head): + curr = head + prev = None + while (curr is not None): + next = curr.next + curr.next = prev + prev = curr + curr = next + return prev #As our head is now prev + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +#Taking Input Using Fast I/O +def takeInput() : + head = None + tail = None + + datas = list(map(int, stdin.readline().rstrip().split(" "))) + + i = 0 + while (i < len(datas)) and (datas[i] != -1) : + data = datas[i] + newNode = Node(data) + + if head is None : + head = newNode + tail = newNode + + else : + tail.next = newNode + tail = newNode + + i += 1 + + return head + + +#to print the linked list +def printLinkedList(head) : + + while head is not None : + print(head.data, end = " ") + head = head.next + + print() + + +#main +t = int(stdin.readline().rstrip()) + +while t > 0 : + + head = takeInput() + head = Reverse(head) + printLinkedList(head) + print() + + t -= 1 From 9b49880ae04c04f7908edca95eec80d496f4b3f8 Mon Sep 17 00:00:00 2001 From: Shubham Kumar Singh <81859951+Shubh-k04@users.noreply.github.com> Date: Fri, 21 Oct 2022 22:14:18 +0530 Subject: [PATCH 2/2] Update ReverseLinkList.py --- Reverse Link List => ReverseLinkList.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename Reverse Link List => ReverseLinkList.py (97%) diff --git a/Reverse Link List b/ReverseLinkList.py similarity index 97% rename from Reverse Link List rename to ReverseLinkList.py index e33677c..a96aac2 100644 --- a/Reverse Link List +++ b/ReverseLinkList.py @@ -62,7 +62,7 @@ def takeInput() : data = datas[i] newNode = Node(data) - if head is None : + if head is None: head = newNode tail = newNode