gpt4 book ai didi

java - 我在递归地实现 String 的子字符串方法时遇到问题

转载 作者:行者123 更新时间:2023-12-02 08:50:47 24 4
gpt4 key购买 nike

public String substring(String s, int start, int stop){
if(stop>s.length()||start>stop||start<0){
throw new IllegalArgumentException("");
}
if(start==stop){
return "";
}else{
return ""+s.charAt(start)+substring(s, start++, stop);
}
}

我遇到堆栈溢出问题,但不知道如何修复它

最佳答案

这是因为 start++ 首先返回 start 值,然后然后递增 start 的值(这意味着您基本上都是递归地调用 substring 函数,并且始终使用相同的 start 参数值) - 您需要将其更改为 ++start

return ""+s.charAt(start)+substring(s, ++start, stop); // or even better 'start + 1' because you don't need to increment this locally

关于java - 我在递归地实现 String 的子字符串方法时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60792924/

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