void recur(int i){ if(i==n) return; String sub=""; for(int j=i+1;j<n;j++) { sub=s.substring(i,j); if(isPalindrome(sub)) System.out.println(sub); } recur(i++);}我StackOverflowError在sub=s.substring(I,j); 声明。s="geeks", initial value of I=0;
2 回答
噜噜哒
TA贡献1784条经验 获得超7个赞
尝试这个
public class P {
public static final String s="geeks";
static void recur(int i){
int n=6; //Size of string
if(i==n)
return;
String sub="";
for(int j=i+1;j<n;j++)
{
sub=s.substring(i,j);
//Any Function
System.out.println(sub);
}
recur(++i);
}
public static void main(String[] args) {
P.recur(0);
}
}
Smart猫小萌
TA贡献1911条经验 获得超7个赞
recur(i++);
表达式i++
的值为i
当前时间的值;然后你增加它。
因此,您基本上是在调用:
recur(i); i++;
所以你只是recur
用相同的参数再次调用。
尝试:
recur(++i);
添加回答
举报
0/150
提交
取消