Heres my code in Python 3 to create a linklist, append elements, display the linkedlist and reverse the linklist. Amoung above functions I am having trouble reversing linklist. Here is my code:
class node:
def __init__(self, data=None):
self.data=data
self.next=None
class Linkedlist:
def __init__(self):
self.head=node()
def append(self, data):
current_node=self.head
new_node = node(data)
while current_node.next!=None:
current_node=current_node.next
current_node.next=new_node
def display(self):
elems=[]
current_node=self.head
while current_node.next!=None:
current_node=current_node.next
elems.append(current_node.data)
print(elems)
def getnode(self, index):
current_index=0
current_node=self.head
while True:
current_node=current_node.next
if current_index == index:
return current_node.data
current_index +=1
def length(self):
counter=0
current_node=self.head
while current_node.next!=None:
current_node=current_node.next
counter +=1
return counter
def reverselinklist(self):
prev=None
current_node=self.head
while current_node.next!=None:
temp=current_node
current_node=current_node.next
temp.next=prev
prev=temp
return prev
my_list=Linkedlist()
my_list.display()
my_list.append(1)
my_list.append(2)
my_list.append(3)
my_list.append(4)
my_list.display()I am following this algorithm but Im not sure what I am doing wrong. I want to reverse the linklist and display the reversed linklist using display() function. How can I do that ?