Trong chương trình này, bạn sẽ học cách đảo ngược một câu đã cho bằng cách sử dụng một vòng lặp đệ quy trong Kotlin.
Ví dụ: Đảo ngược một câu bằng cách sử dụng đệ quy
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) )
Khi bạn chạy chương trình, đầu ra sẽ là:
Câu đảo ngược là: krow oG
Trong chương trình trên, chúng ta có một hàm đệ quy reverse()
.
Trên mỗi lần lặp, chúng tôi thêm (nối) kết quả của reverse()
hàm tiếp theo vào ký tự đầu tiên của câu bằng cách sử dụng charAt(0)
.
Lời gọi đệ quy phải ở trước charAt()
, bởi vì theo cách đó, các ký tự cuối cùng sẽ bắt đầu thêm vào phía bên trái. Nếu bạn đảo ngược thứ tự, bạn sẽ kết thúc với câu gốc.
Cuối cùng, chúng ta kết thúc bằng một câu trống và reverse()
trả về câu đảo ngược.
Lặp lại | đảo ngược() | chuỗi con () | Đã đảo ngược |
---|---|---|---|
1 | ngược lại ("Đi làm") | "o Làm việc" | kết quả + "G" |
2 | ngược lại ("o Work" | " Công việc" | kết quả + "o" + "G" |
3 | đảo ngược ("Cơ quan") | "Công việc" | kết quả + "" + "o" + "G" |
4 | đảo ngược ("Cơ quan") | "ork" | kết quả + "W" + "" + "o" + "G" |
5 | đảo ngược ("ork") | "rk" | kết quả + "o" + "W" + "" + "o" + "G" |
6 | đảo ngược ("rk") | "k" | kết quả + "r" + "o" + "W" + "" + "o" + "G" |
7 | đảo ngược ("k") | "" | kết quả + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Sau cùng | đảo ngược("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Đây là mã Java tương đương: Chương trình Java để đảo ngược một câu