把一个数组里的驻足合全部列出,比如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