Kotlin-program for å reversere en setning ved hjelp av rekursjon

I dette programmet lærer du å reversere en gitt setning ved hjelp av en rekursiv sløyfe i Kotlin.

Eksempel: Vend en setning ved hjelp av rekursjon

 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) )

Når du kjører programmet, vil utdataene være:

 Den omvendte setningen er: krow oG

I programmet ovenfor har vi en rekursiv funksjon reverse().

På hver iterasjon legger vi til (sammenkobler) resultatet av neste reverse()funksjon til setningens første tegn charAt(0).

Det rekursive anropet må være før charAt(), fordi på den måten begynner de siste tegnene å legge til på venstre side. Hvis du omgjør ordren, vil du ende opp med den opprinnelige setningen.

Til slutt ender vi opp med en tom setning og reverse()returnerer den omvendte setningen.

Gjennomføringstrinn
Iterasjon omvendt() substring () reversedString
1 omvendt ("Gå arbeid") "o Arbeid" resultat + "G"
2 omvendt ("o Arbeid" " Arbeid" resultat + "o" + "G"
3 omvendt ("Arbeid") "Arbeid" resultat + "" + "o" + "G"
4 omvendt ("Arbeid") "ork" resultat + "W" + "" + "o" + "G"
5 omvendt ("ork") "rk" resultat + "o" + "W" + "" + "o" + "G"
6 omvendt ("rk") "k" resultat + "r" + "o" + "W" + "" + "o" + "G"
7 omvendt ("k") "" resultat + "k" + "r" + "o" + "W" + "" + "o" + "G"
Endelig omvendt("") - "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG"

Her er ekvivalent Java-kode: Java-program for å reversere en setning

Interessante artikler...