input: Write a function to delete a given node from a linked list. If the node is the head of the linked list, set the head to the next node. If the node is not found in the linked list, return the linked list unchanged. The linked list should be modified in-place.
  class Node:
      def __init__(self, data):
          self.data = data
          self.next = None
  
  class LinkedList:
      def __init__(self):
          self.head = None
  
      def deleteNode(self, node):
          if not self.head:
              return
          if self.head == node:
              self.head = self.head.next
              return
          current = self.head
          while current.next and current.next != node:
              current = current.next
          if current.next:
              current.next = current.next.next
  
  assert LinkedList().deleteNode(None) == None
  assert LinkedList().deleteNode(Node(5)) == None
  assert LinkedList().deleteNode(Node(10)) == None
  assert LinkedList().deleteNode(Node(15)) == None
  assert LinkedList().deleteNode(Node(20)) == None
output: def deleteNode(self, node):
      if not self.head:
          return
      if self.head == node:
          self.head = self.head.next
          return
      current = self.head
      while current.next and current.next != node:
          current = current.next
      if current.next:
          current.next = current.next.next