Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Node:
- def __init__(self, data):
- self.data = data
- self.next = None
- class LinkedList:
- def __init__(self):
- self.head = None
- # print list of linked list
- def print_list(self):
- cur_node = self.head
- while cur_node:
- print(cur_node.data)
- cur_node = cur_node.next
- # add to end of linked list
- def append(self, data):
- new_node = Node(data)
- cur = self.head
- if self.head is None:
- self.head = new_node
- return
- while cur.next:
- cur = cur.next
- cur.next = new_node
- def prepend(self, data):
- new_node = Node(data)
- new_node.next = self.head
- self.head = new_node
- def reverse_iterative(self):
- prev = None
- cur = self.head
- while cur:
- nxt = cur.next
- cur.next = prev
- prev = cur
- cur = nxt
- self.head = prev
- ll = LinkedList()
- ll.append("A")
- ll.append("B")
- ll.append("C")
- ll.append("D")
- ll.prepend("E")
- print("given")
- ll.print_list()
- print("reversed list")
- ll.reverse_iterative()
- ll.print_list()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement