我是否正确地跟踪了这个递归代码?

时间:2013-03-12 02:22:46

标签: 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);
 }

}

我是递归的新手,我只是想确保我正确追踪它。

我得到了什么:

Level: 3
Level: 2
Level: 1
LEVEL: 1

1 个答案:

答案 0 :(得分:2)

几乎。你必须记住你的调用堆栈:

Level: 3
Level: 2
Level: 1
LEVEL: 1
LEVEL: 2
LEVEL: 3