Intern
Jak rozwinąć łańcuch?
sobes.tech AI
Odpowiedź od AI
- Iteracja z tworzeniem nowej linii:
// Przykład odwracania łańcucha
fun reverseString(str: String): String {
var reversed = ""
for (i in str.length - 1 downTo 0) {
reversed += str[i]
}
return reversed
}
- Użycie StringBuilder/StringBuffer:
// Przykład odwracania łańcucha z użyciem StringBuilder
fun reverseString(str: String): String {
return StringBuilder(str).reverse().toString()
}
- Użycie metod łańcuchów (Kotlin):
// Przykład odwracania łańcucha z użyciem reversed()
fun reverseString(str: String): String {
return str.reversed()
}
- Rekurencja:
// Przykład rekurencyjnego odwracania łańcucha
fun reverseString(str: String): String {
return if (str.isEmpty()) {
str
} else {
reverseString(str.substring(1)) + str[0]
}
}
Wybór metody zależy od wymagań dotyczących wydajności, czytelności kodu i konieczności obsługi starszych wersji Java (w przypadku użycia StringBuilder/StringBuffer). Metoda reversed() w Kotlin jest najbardziej zwięzła i preferowana.