2 jerry  j Jerry__J 于 2016.04.22 18:30 提问

对java中递归问题的输出不理解,求大神解答!谢谢

对于这一段代码我能够理解,压栈然后出栈就是6,5,4

 package recursion;

public class testRecursion {
    public static void main(String[] args) {
        int num=3;
        recursion(num);
    }
    private static void recursion(int n){
        n++;
        if(n<7){
            recursion(n);
            System.out.println(n);
        }
    }
}

但是对这段代码的输出很不理解

 package recursion;

public class testRecursion {
    public static void main(String[] args) {
        int num=3;
        recursion(num);
    }
    private static void recursion(int n){
        n=n+1;
        if(n<7){
            recursion(n);
            recursion(n);
            System.out.println(n);
        }
    }
}

输出是:6 6 5 6 6 5 4

2个回答

binggouxsm
binggouxsm   2016.04.22 20:04
已采纳

图片说明

就是一个深度遍历的二叉树

Jerry__J
Jerry__J 万分感谢!!!!懂了
一年多之前 回复
binggouxsm
binggouxsm 说错了,更正下是后序遍历
一年多之前 回复
whoSaidNo
whoSaidNo   2016.04.22 20:14

图片说明

第一个rescurison(4)输出6 ,6, 5,
第二个也输出 6 , 6,5
最后输出6

Jerry__J
Jerry__J 懂了~谢谢
一年多之前 回复
whoSaidNo
whoSaidNo 我也说错了,是4
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!