Programa Kotlin para reverter uma frase usando recursão

Neste programa, você aprenderá a reverter uma determinada frase usando um loop recursivo em Kotlin.

Exemplo: reverter uma frase usando recursão

 fun main(args: Array) ( val sentence = "Go work" val reversed = reverse(sentence) println("The reversed sentence is: $reversed") ) fun reverse(sentence: String): String ( if (sentence.isEmpty()) return sentence return reverse(sentence.substring(1)) + sentence(0) )

Quando você executa o programa, a saída será:

 A frase invertida é: krow oG

No programa acima, temos uma função recursiva reverse().

Em cada iteração, adicionamos (concatenamos) o resultado da próxima reverse()função ao primeiro caractere da frase usando charAt(0).

A chamada recursiva deve ser antes de charAt(), porque dessa forma os últimos caracteres começarão a ser adicionados à esquerda. Se você inverter a ordem, terminará com a frase original.

No final, terminamos com uma frase vazia e reverse()retornamos a frase invertida.

Etapas de execução
Iteração marcha ré() substring () reversedString
1 reverso ("Vá trabalhar") "o Trabalho" resultado + "G"
2 reverso ("o Trabalho" " Trabalhos" resultado + "o" + "G"
3 reverso ("Trabalho") "Trabalhos" resultado + "" + "o" + "G"
4 reverso ("Trabalho") "ork" resultado + "W" + "" + "o" + "G"
5 reverso ("ork") "rk" resultado + "o" + "W" + "" + "o" + "G"
6 reverso ("rk") "k" resultado + "r" + "o" + "W" + "" + "o" + "G"
7 reverso ("k") "" resultado + "k" + "r" + "o" + "W" + "" + "o" + "G"
Final marcha ré("") - "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG"

Aqui está o código Java equivalente: Programa Java para reverter uma frase

Artigos interessantes...