我的智慧结束了...我理解递归的更简单的例子,但是当它变得棘手时我没有线索.这是一个例子.如果有人能说出它的作用,我会很高兴的.编译器做了什么......
public static char mystery(String s, int n, int m)
{
if (n==1) return s.charAt(m);
char first = mystery(s, n/2, m*2);
char second = mystery(s, n/2, m*2 +1);
System.out.print(first + " " + second + " ");
return first;
}
Run Code Online (Sandbox Code Playgroud)
调用方法时打印的内容:mystery("fredpass",5,1)
答案是传递
我没有CLUE如何到达那里......
如果有人可以帮我解决这个问题,真的会很感激.在互联网上的其他地方,他们只解释了阶乘 - 简单的例子.不确定如果你char first = mystery ( blah );再次调用它两次会发生什么char second = mystery ( blah );