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
是的,它剛剛進行遞歸調用並呆在那裏。沒有太多的幫助,但很有可能有一些更好的方法來實現它,我不知道。 –
理解遞歸的唯一方法是通過迭代迭代,使用紙和鉛筆或在調試器中進行迭代。 –