„Kotlin“ programa pakeisti sakinį naudojant rekursiją

Šioje programoje išmoksite pakeisti nurodytą sakinį naudodami rekursišką kilpą Kotline.

Pavyzdys: pakeiskite sakinį naudodami rekursiją

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

Kai paleisite programą, išvestis bus:

 Atvirkštinis sakinys yra: krow oG

Pirmiau pateiktoje programoje mes turime rekursinę funkciją reverse().

Kiekvienoje iteracijoje reverse()prie pirmojo sakinio simbolio pridedame (sujungiame) kitos funkcijos rezultatą charAt(0).

Rekursinis skambutis turi būti prieš charAt(), nes tokiu būdu paskutiniai simboliai bus pradėti pridėti kairėje pusėje. Jei pakeisite tvarką, gausite originalų sakinį.

Galų gale mes padarysime tuščią sakinį ir reverse()grąžinsime atvirkštinį sakinį.

Vykdymo veiksmai
Kartojimas atvirkštinis () substring () reversedString
1 atvirkščiai („Eik dirbti“) „o darbas“ rezultatas + „G“
2 atvirkščiai („o darbas“ „Darbas“ rezultatas + "o" + "G"
3 atvirkščiai („darbas“) „Darbas“ rezultatas + "" + "o" + "G"
4 atvirkščiai („darbas“) „ork“ rezultatas + "W" + "" + "o" + "G"
5 atvirkštinis („ork“) „rk“ rezultatas + "o" + "W" + "" + "o" + "G"
6 atvirkštinė („rk“) „k“ rezultatas + "r" + "o" + "W" + "" + "o" + "G"
7 atvirkštinė („k“) "" rezultatas + "k" + "r" + "o" + "W" + "" + "o" + "G"
Galutinis atvirkštinis ("") - "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG"

Štai ekvivalentiškas „Java“ kodas: „Java“ programa sakiniui pakeisti

Įdomios straipsniai...