input: Write a function to drop all leaf nodes from a given Huffman tree. If the tree is empty, return None. The function should recursively process both left and right subtrees, ensuring that leaf nodes are removed.
  
  def dropLeafNodes(head): 
      if head and not head.left and not head.right: 
          return None
      if not head: 
          return None
      head.left = dropLeafNodes(head.left) 
      head.right = dropLeafNodes(head.right) 
      return head
  
  assert dropLeafNodes((1, (2, (4,), (5,)), (3, (6,), (7,)))).left == (2, None, None)
  assert dropLeafNodes((1, (2, (4,), (5,)), (3, (6,), (7,)))).right == (3, None, None)
  assert dropLeafNodes((2, (4,), (5,))) == None
  assert dropLeafNodes(None) == None
output: def dropLeafNodes(head): 
      if head and not head.left and not head.right: 
          return None
      if not head: 
          return None
      head.left = dropLeafNodes(head.left) 
      head.right = dropLeafNodes(head.right) 
      return head