Я видел много сообщений об обращении строки с рекурсией, но мне нравится использовать собственный стиль кодирования, чтобы правильно его понять. В любом случае, вот код, который у меня есть.Как изменить строку с помощью рекурсивной функции?
private static String reverse (String s){
String rev = "";
int index = s.length()-1;
if(index >= 0){
rev += s.charAt(index);
index--;
rev += reverse(rev);
}
return rev;
}
В основном индекс просто продолжается для каждого отдельного символа, когда индекс равен -1, цикл останавливается. он читает последний возможный символ строки, но здесь есть ошибка в этой строке.
rev += rev(str)
Вот итерационный метод
String dog = "dog";
String rev = "";
int index = dog.length()-1;
while(index >= 0){
rev+=dog.charAt(index);
index--;
}
out.println(rev);
Вы используете Java? – Laurel
Да, я использую java. – EidA5
Попробуйте добавить 'System.out.println (index);' перед рекурсией, чтобы увидеть, можете ли вы увидеть проблему. – Laurel