Question
PYTHON3: Write a LinkedList class that has recursive implementations of the add, display, and remove methods described in the lesson. It should also have recursive
PYTHON3: Write a LinkedList class that has recursive implementations of the add, display, and remove methods described in the lesson. It should also have recursiveimplementations of the contains, insert, and reverse methods described in the exercises. You may use default arguments and/or helper functions.
The file must be named: LinkedList.py
class Node:
"""
Represents a node in a linked list
"""
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
"""
A linked list implementation of the List ADT
"""
def __init__(self):
self.head = None
def add(self, val):
"""
Adds a node containing val to the linked list
"""
if self.head is None: # If the list is empty
self.head = Node(val)
else:
current = self.head
while current.next is not None:
current = current.next
current.next = Node(val)
def display(self):
"""
Prints out the values in the linked list
"""
current = self.head
while current is not None:
print(current.data, end=" ")
current = current.next
print()
def remove(self, val):
"""
Removes the node containing val from the linked list
"""
if self.head is None: # If the list is empty
return
if self.head.data == val: # If the node to remove is the head
self.head = self.head.next
else:
current = self.head
while current is not None and current.data != val:
previous = current
current = current.next
if current is not None: # If we found the value in the list
previous.next = current.next
def is_empty(self):
"""
Returns True if the linked list is empty,
returns False otherwise
"""
return self.head is None
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started