Define a recursive function that takes the current index and the current permutation of the string.
If the current index is equal to the length of the string, add the current permutation to the result list and return.
If the current character is a digit, add it to the current permutation and recursively call the function with the next index.
If the current character is a letter, create two branches of recursion: one with the lowercase letter and one with the uppercase letter, and increment the index for the next recursive call.
Continue this process until all characters are processed.