input: Write a function to delete a specified node from a linked list. The function should return None.
  
  class Node:  
      def __init__(self, data):  
          self.data = data  
          self.next = None  
  
  class LinkedList:  
  
      def __init__(self):  
          self.head = None
  
      def deleteNode(self, node): 
    
          temp = self.head  
    
          if (temp is not None):  
              if (temp == node):  
                  self.head = temp.next
                  temp = None
                  return
    
          while(temp is not None):  
              if temp == node:  
                  break
              prev = temp  
              temp = temp.next 
    
          if(temp == None):  
              return
    
          prev.next = temp.next
    
          temp = None
  
  # Test cases
  
  linked_list = LinkedList()
  linked_list.head = Node(1)
  second = Node(2)
  third = Node(3)
  linked_list.head.next = second
  second.next = third
  
  assert linked_list.deleteNode(second) is None
  assert linked_list.head.next == third
  
  empty_list = LinkedList()
  assert empty_list.deleteNode(None) is None
  
  single_node_list = LinkedList()
  single_node_list.head = Node(1)
  assert single_node_list.deleteNode(single_node_list.head) is None
  assert single_node_list.head is None
output: def deleteNode(self, node): 
      temp = self.head  
      if (temp is not None):  
          if (temp == node):  
              self.head = temp.next
              temp = None
              return
      while(temp is not None):  
          if temp == node:  
              break
          prev = temp  
          temp = temp.next 
      if(temp == None):  
          return
      prev.next = temp.next
      temp = None