input: Write a python function to generate all permutations of a given string.
  assert generate_all_strings("abc") == ["abc", "acb", "bac", "bca", "cab", "cba"]
  assert generate_all_strings("ab") == ["ab", "ba"]
  assert generate_all_strings("a") == ["a"]
output: def generate_all_strings(s):
      if len(s) == 1:
          return [s]
      
      permutations = []
      for i, char in enumerate(s):
          for perm in generate_all_strings(s[:i] + s[i+1:]):
              permutations.append(char + perm)
      
      return permutations