直接用递归实现:
import java.util.Arrays; import java.util.LinkedList; import java.util.List; /** * * @author lazy_p * @date 2010-9-1 * */ public class ZuheTest1 { static void listAll(List list, String prefix) { System.out.println(prefix); for (int i = 0; i < list.size(); ++i) { List temp = new LinkedList(list); listAll(temp, prefix + temp.remove(i)); } } public static void main(String[] args) { String[] ar = new String[] { "1", "2", "3" }; listAll(Arrays.asList(ar), ""); } }
输出结果:
1
12
123
13
132
2
21
213
23
231
3
31
312
32
321
递归组合生成器
本文介绍了一个使用Java实现的递归算法,该算法能够生成所有可能的字符串组合。通过一个具体的例子展示了如何从给定的字符串数组中递归地生成所有可能的组合,并打印出来。代码示例清晰地说明了递归调用的过程。
832

被折叠的 条评论
为什么被折叠?



