Intern
Jak rozbalit řetězec?
sobes.tech AI
Odpověď od AI
- Iterace s vytvořením nového řádku:
// Příklad převrácení řetězce
fun reverseString(str: String): String {
var reversed = ""
for (i in str.length - 1 downTo 0) {
reversed += str[i]
}
return reversed
}
- Použití StringBuilder/StringBuffer:
// Příklad převrácení řetězce s použitím StringBuilder
fun reverseString(str: String): String {
return StringBuilder(str).reverse().toString()
}
- Použití metod řetězce (Kotlin):
// Příklad převrácení řetězce s použitím reversed()
fun reverseString(str: String): String {
return str.reversed()
}
- Rekurze:
// Příklad rekurzivního převrácení řetězce
fun reverseString(str: String): String {
return if (str.isEmpty()) {
str
} else {
reverseString(str.substring(1)) + str[0]
}
}
Volba metody závisí na požadavcích na výkon, čitelnosti kódu a nutnosti podpory starších verzí Java (při použití StringBuilder/StringBuffer). Metoda reversed() v Kotlinu je nejvýstižnější a preferovaná.