input: Write a function to find the longest common substring between two given strings. Return the substring if found, else return an empty string. If either of the input strings is empty, return an empty string.
  def longest_common_substring(str1, str2):
      if not str1 or not str2:
          return ""
      match = 0
      substr = ""
      for i in range(len(str1)):
          for j in range(len(str2)):
              l = 0
              while (i + l < len(str1) and j + l < len(str2) and str1[i + l] == str2[j + l]):
                  l += 1
              if l > match:
                  substr = str1[i:i + l]
                  match = l
      return substr
  
  assert longest_common_substring("Helwallomst", "Welcome")=="l"
  assert longest_common_substring("abcdef", "abcxyz")=="abc"
  assert longest_common_substring("abc", "xyz")==""
  assert longest_common_substring("abc", "")==""
  assert longest_common_substring("", "xyz")==""
output: def longest_common_substring(str1, str2):
      if not str1 or not str2:
          return ""
      match = 0
      substr = ""
      for i in range(len(str1)):
          for j in range(len(str2)):
              l = 0
              while (i + l < len(str1) and j + l < len(str2) and str1[i + l] == str2[j + l]):
                  l += 1
              if l > match:
                  substr = str1[i:i + l]
                  match = l
      return substr