I dette program lærer du at vende en given sætning ved hjælp af en rekursiv sløjfe i Kotlin.
Eksempel: Vend en sætning ved hjælp af rekursion
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 kører programmet, vil output være:
Den omvendte sætning er: krow oG
I ovenstående program har vi en rekursiv funktion reverse()
.
På hver iteration tilføjer (sammenkædes) resultatet af den næste reverse()
funktion til det første tegn i sætningen ved hjælp af charAt(0)
.
Det rekursive opkald skal være før charAt()
, for på den måde begynder de sidste tegn at tilføje til venstre side. Hvis du vender ordren, ender du med den originale sætning.
Til sidst ender vi med en tom sætning og reverse()
returnerer den omvendte sætning.
Iteration | baglæns() | understreng () | reversedString |
---|---|---|---|
1 | omvendt ("Gå arbejde") | "o arbejde" | resultat + "G" |
2 | omvendt ("o arbejde" | " Arbejde" | resultat + "o" + "G" |
3 | omvendt ("Arbejde") | "Arbejde" | resultat + "" + "o" + "G" |
4 | omvendt ("Arbejde") | "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 | baglæns("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Her er den tilsvarende Java-kode: Java-program til at vende en sætning