把一个数组里的数组合全部列出

  把一个数组里的驻足合全部列出,比如1和2列出来为1,2,12,21。

使用循环递归算法:

package com.lk.B;

import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

public class Test3 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String [] array = new String[]{"1","2"};
        listAll(Arrays.asList(array),"");
    }

    private static void listAll(List<String> candidate, String prefix) {
        // TODO Auto-generated method stub
        System.out.println(prefix);
        for(int i = 0;i<candidate.size();i++){
            List<String> temp = new LinkedList<>(candidate);
            listAll(temp,prefix+temp.remove(i));
        }
    }

}
1
12
2
21

 

posted @ 2015-04-11 09:18  luankun0214  阅读(375)  评论(0编辑  收藏  举报