gpt4 book ai didi

java - 在 Java 中使用递归反转字符串

转载 作者:IT老高 更新时间:2023-10-28 20:34:07 25 4
gpt4 key购买 nike

这里是一些递归反转字符串的 Java 代码。

有人能解释一下它是如何工作的吗?

public static String reverse(String str) {
if ((null == str) || (str.length() <= 1)) {
return str;
}
return reverse(str.substring(1)) + str.charAt(0);
}

我不明白这怎么可能工作。

最佳答案

该函数获取字符串的第一个字符 - str.charAt(0) - 放在最后,然后调用它自己 - reverse() - 剩下的 - str.substring(1) , 将这两件事加在一起得到结果 - reverse(str.substring(1)) + str.charAt(0)

当传入的字符串是一个字符或更少,所以不会有剩余 - 当str.length() <= 1) - 它停止递归调用自身,只返回传入的字符串。

所以它运行如下:

reverse("Hello")
(reverse("ello")) + "H"
((reverse("llo")) + "e") + "H"
(((reverse("lo")) + "l") + "e") + "H"
((((reverse("o")) + "l") + "l") + "e") + "H"
(((("o") + "l") + "l") + "e") + "H"
"olleH"

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

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