public class recursiveReverse {
public static String reverse(String str){
if (str == null) {
return null;
}
if (str.length() <= 1) {
return str;
}
return reverse(str.substring(1)) + str.charAt(0);
}
public static void main(String[] args) {
reverse("car");
}
}
Я получаю в первый раз if (str.length() < = 1) возвращает true, затем я теряюсь.Я не понимаю процесс этого кода. Я был бы очень признателен, если бы кто-то мог проследить его для меня
Вы пробовали переходить через него в отладчик? – resueman
Да, он просто получил рекурсивный звонок и остался там. Было не очень полезно, но есть большая вероятность, что есть лучший способ пройти через него, о котором я не знаю. –
Единственный способ понять рекурсию - пройти через нее итерацию путем итерации с помощью бумаги и карандаша или в отладчике. –