gpt4 book ai didi

java - 递归——反转字符串

转载 作者:行者123 更新时间:2023-11-30 04:00:40 25 4
gpt4 key购买 nike

我相信我对递归(阶乘等)有很好的理解,但是在下面反转字符串的示例中我不理解该行。有人可以解释一下它的作用吗?

return reverseString(str.substring(1)) + str.charAt(0);

方法的完整代码:

public static String reverseString(String str){

if(str.length()<2){
System.out.println("reached Base case");
return str;
}

return reverseString(str.substring(1)) + str.charAt(0);


}

最佳答案

调用substring(1) 取出字符串中的第一个字符。这将被输入到递归调用中,该调用会反转除最后一个字符之外的所有字符。然后,附加第一个字符,完成反转。

示例:

reverseString("abc") =>
reverseString("bc") + 'a' =>
(reverseString("c") + 'b') + 'a' =>
("c" + 'b') + 'a' =>
"cb" + 'a' =>
"cba"

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

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