Group_Coder

Removing a node

Jul 26th, 2023
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. class Node:
  2. def __init__(self, data):
  3. self.data = data
  4. self.next = None
  5.  
  6. class LinkedList:
  7. def __init__(self):
  8. self.head = None
  9.  
  10. def add_node_to_front(self, data):
  11. new_node = Node(data)
  12. new_node.next = self.head
  13. self.head = new_node
  14.  
  15. def add_node_to_end(self, data):
  16. new_node = Node(data)
  17. if not self.head:
  18. self.head = new_node
  19. return
  20.  
  21. current = self.head
  22. while current.next:
  23. current = current.next
  24.  
  25. current.next = new_node
  26.  
  27. def remove_node(self, target_data):
  28. if not self.head:
  29. return
  30.  
  31. if self.head.data == target_data:
  32. self.head = self.head.next
  33. return
  34.  
  35. current = self.head
  36. while current.next:
  37. if current.next.data == target_data:
  38. current.next = current.next.next
  39. return
  40. current = current.next
  41.  
  42. def print_linked_list(self):
  43. current = self.head
  44. while current:
  45. print(current.data, end=" -> ")
  46. current = current.next
  47. print("None")
  48.  
  49. # Creating a linked list
  50. my_linked_list = LinkedList()
  51.  
  52. # Adding nodes to the front of the linked list
  53. my_linked_list.add_node_to_front("World")
  54. my_linked_list.add_node_to_front("Hello")
  55.  
  56. # Adding nodes to the end of the linked list
  57. my_linked_list.add_node_to_end("!")
  58. my_linked_list.add_node_to_end("Goodbye")
  59.  
  60. # Removing a node
  61. my_linked_list.remove_node("!")
  62. my_linked_list.remove_node("Hello")
  63.  
  64. # Printing the linked list
  65. my_linked_list.print_linked_list()
  66.  
Advertisement
Add Comment
Please, Sign In to add comment