input: Write a function to delete a certain element from a linked list. The function should take a linked list and a node to be deleted as input and should modify the linked list to remove the specified node. If the node is not found in the linked list, the function should return without making any changes.
  
  ### Function Header:
  
  def deleteNode(linked_list, node):
  
  
  ### Assert Test Cases:
  
  # Node class and LinkedList class definitions as given above
  
  # Test cases
  ll = LinkedList()
  ll.head = Node(1)
  second = Node(2)
  third = Node(3)
  fourth = Node(4)
  ll.head.next = second
  second.next = third
  third.next = fourth
  
  deleteNode(ll, second)  # Should delete the second node (data = 2)
  assert ll.head.next == third  # The next node after the head should be third (data = 3)
  
  deleteNode(ll, Node(5))  # Trying to delete a non-existing node (data = 5)
  assert ll.head.next == third  # The linked list should remain unchanged
  
  deleteNode(ll, ll.head)  # Should delete the head node (data = 1)
  assert ll.head == third  # The new head should be the third node (data = 3)
  
output: def deleteNode(linked_list, node):
      if linked_list.head is None:
          return
      
      if linked_list.head == node:
          linked_list.head = linked_list.head.next
          return
      
      current = linked_list.head
      while current.next is not None:
          if current.next == node:
              current.next = current.next.next
              return
          current = current.next