【发布时间】:2012-04-01 04:59:19
【问题描述】:
下面是一些递归反转字符串的 Java 代码。
有人能解释一下它是如何工作的吗?
public static String reverse(String str) {
if ((null == str) || (str.length() <= 1)) {
return str;
}
return reverse(str.substring(1)) + str.charAt(0);
}
我不明白这怎么可能工作。
【问题讨论】:
-
这是作业,@DwB - 我认为这是递归的合理演示。
-
@DwB 它有一个作业标签,所以他们可能正在使用它来教授递归。它是第一次了解递归如何工作的最简单方法之一
-
我加评论的时候没有homework标签。
-
@DwB 对不起,DwB,你是对的,我上面没有作业标签。这不一定适用于现实世界的应用程序,只是为了让我了解这个递归示例中到底发生了什么。
-
我今天被问到这个问题,我想我应该想出你写的东西。我确实想出了这个pastebin.com/r4B3xEMe 更多代码,但在一半的调用中反转。
标签: java string recursion reverse