gpt4 book ai didi

java - Java 递归反转字符串

转载 作者:行者123 更新时间:2023-12-01 20:20:51 25 4
gpt4 key购买 nike

我尝试在 Java 中递归地反转字符串,但我只得到最后一个字符作为输出。

网上查了一下,大部分代码都修改了输入字符串。我正在尝试构建从空字符串到反转字符串的输出。请告诉我我的程序出了什么问题。

class reverseStringRecursion
{
public static void main(String args[])
{
System.out.println(reverse());
}

public static String reverse()
{
String strInput = " Hello I am my name.";
String output = "";
return recursiveHelper(strInput, 0, output);
}

public static String recursiveHelper(String strInput, int index, String output)
{
if(index == (strInput.length() - 1 ))
output += strInput.charAt(index) + "";
else
output+= recursiveHelper(strInput, index + 1, output) +"";

return output;
}
}

上面的代码返回输出“.”仅此而已。请帮忙。

最佳答案

其他人已经很好地解释了为什么您的代码不起作用。为了进行比较,这里有一个带有一些注释的工作版本:

public static void main(String args[])
{
System.out.println(reverse("Hello I am my name."));
}

public static String reverse(String text)
{
// Base case:
// If the string is empty, we're done.
if (text.length() == 0) {
return "";
} else {
// reverse("hello") = reverse("ello") + "h"
return reverse(text.substring(1)) + text.charAt(0);
}
}

关于java - Java 递归反转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44766383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com