Recursion 我是否正确地跟踪了这个递归代码?
} 我不熟悉递归,我只是想确保我正确地跟踪了它 我得到的是:Recursion 我是否正确地跟踪了这个递归代码?,recursion,Recursion,} 我不熟悉递归,我只是想确保我正确地跟踪了它 我得到的是: public static void main( String[] args) { down_up( 3 ); } public static void down_up( int n ) { System.out.println(" Level: " + n); if( n > 1 ) down_up(n - 1); System.out.println(" LEVEL: " + n
public static void main( String[] args)
{
down_up( 3 );
}
public static void down_up( int n )
{
System.out.println(" Level: " + n);
if( n > 1 )
down_up(n - 1);
System.out.println(" LEVEL: " + n);
}
差不多。您必须记住您的调用堆栈:
Level: 3
Level: 2
Level: 1
LEVEL: 1
答案不是三级,三级,二级,二级,一级,一级吗?不,不是!递归发生在两行输出之间。你最好仔细阅读通话记录。将来,当您想测试您的理论时,请尝试编译和运行代码。我在这里为你做到了:
Level: 3
Level: 2
Level: 1
LEVEL: 1
LEVEL: 2
LEVEL: 3