public class Abc {
public static void main(String[] args) {
String word="abc";
Abc one=new Abc();
List<String> list=new ArrayList<String>();
one.method1(word, "", list);
System.out.println(list.toString()); //[abc, acb, bac, bca, cab, cba]
}
//先删除第0,1,2个 ,有 bc ac ab 三种组合方法
public void method1(String base,String buff,List<String> result) {
if(base.length()<=0)
{result.add(buff); }
for (int i = 0; i < base.length(); i++) {
method1(new StringBuilder(base).deleteCharAt(i).toString(),buff+base.charAt(i),result);
}
//第一次删除a,留下bc, a先存起来,接着把bc删除第一个 , 留下c,ab存起来,接着删除c,留下空。然后 abc存起来,放到集合中。
}
}排列组合
最新推荐文章于 2025-01-29 21:39:37 发布
本文介绍了一个使用递归实现的字符串全排列算法。该算法通过删除指定位置字符的方式生成字符串的所有可能排列,并将结果存储到列表中。举例说明了如何通过递归调用完成整个过程。
1780

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



