Using object oriented design constructs, define a Node class and LinkedList class for a singly linked list. Each node has integer data value and a link to the next node. The linked list class has a head node and the following methods defined.
Design and implement the classes and the methods. Implement the methods within the Linked List class that are currently raising NotImplementedError.
There are a set of advanced methods you can choose to implement for additional practice.