A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Demo{
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个整数:");
                ArrayList<ArrayList> arrayList = method(sc.nextInt());
                //System.out.println(arrayList);
        }

        public static ArrayList<ArrayList> method(int n) {
                ArrayList<ArrayList> arrayList = new ArrayList();
                ArrayList<Integer> intList = new ArrayList();
                if (n==1) {
                        intList.add(1);
                        arrayList.add(intList);
                        return arrayList;
                }
                ArrayList<ArrayList> arrayList1 = method(n-1);
                for (int i = 0; i < n-1; i++) {
                        ArrayList<Integer> arr = arrayList1.get(i);
                        for (int j = 0; j < n; j++) {
                                arr.add(j, n);
                                System.out.print(arr);
                                arrayList.add(arr);
                                arr.remove(j);
                        }
                }
                System.out.println(arrayList);
                return arrayList;
        }
}

3 个回复

倒序浏览
为什么结果是[2, 1][1, 2][[1], [1]]
而不是[2, 1][1, 2][[2, 1][1, 2]]
回复 使用道具 举报
代码就不能写点注释嘛。。。。想要看懂这个代码好难
回复 使用道具 举报
My_Android 发表于 2016-6-6 11:45
代码就不能写点注释嘛。。。。想要看懂这个代码好难

不好意思,又发了一篇,只把问题写出来了,看看那个吧。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马