Kotlin-program til at vende en sætning ved hjælp af rekursion

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.

Udførelsestrin
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

Interessante artikler...