Given a Singly Linked-List, write a function to delete the linked list recursively. Below is my attempt. I am confused if I should use del keyword to delete the nodes or below method is better. I don't know if it is memory efficient this way.I'd appreciate any critique of what I could do better.
class SLLNode: def __init__(self, data): self.data = data self.next = None class SLL: def __init__(self): self.head = None def append(self, data): temp = SLLNode(data) if self.head is None: self.head = temp else: current = self.head while current.next is not None: current = current.next current.next = temp def delete_a_linked_list_using_recursion(head): if head is None: return head head = head.next return delete_a_linked_list_using_recursion(head) """driver's code""" sll = SLL() sll.append(1) sll.append(2) sll.append(3) sll.append(4) head = delete_a_linked_list_using_recursion(sll.head)