Ascolta, in ASCII/Unicode le lettere da 'A' a 'Z' hanno una codifica lineare da 65 a 90. Quindi di per sé non servirebbe nemmeno avere una stringa alfabetoinChiaro con le lettere da A a Z.
Pertanto le cose sono due: o ragioni con matematica sui codici dei char oppure avendo una stringa "ABC ...... WXYZ" ragioni con matematica sugli indici in tale stringa.
In entrambi i casi non servono substring, reverse, toString. Nel secondo caso per avere l'indice puoi appunto usare indexOf.