Invertidor de mayúsculas/minúsculas y orden

Invierte el orden de cada carácter de la cadena y luego invierte las mayúsculas/minúsculas de cada letra. Los espacios siguen siendo caracteres y, por lo tanto, se mueven con la inversión. Una solución recursiva es opcional.

Ejemplo

Program.Invert("dLROW YM sI HsEt") ➢ "TeSh iS my worlD"