使用递归输出字符串的组合

来源:互联网 发布:高清混合矩阵知名品牌 编辑:程序博客网 时间:2024/06/09 19:53
import java.util.ArrayList;import java.util.TreeSet;public class 输出字符串组合 {static int count=0;static TreeSet<String> ts=new TreeSet<String>();;public static void main(String[] agrs){String str="aba";char[] ch=str.toCharArray();ArrayList<Character> al=new ArrayList<Character>();for(int i=0;i<ch.length;i++)al.add(ch[i]);show(al,new ArrayList<Character>());System.out.println(count);}public static void show(ArrayList<Character> al,ArrayList<Character> bl){if(al.size()==0){String str=Arrays.toString(bl);if(!ts.contains(str)){ts.add(str);System.out.println(str);count++;}return;}for(int i=0;i<al.size();i++){ArrayList<Character> cll=new ArrayList<Character>(al);ArrayList<Character> store=new ArrayList<Character>(bl);cll.remove(i);store.add(al.get(i));show(cll,store);}}}//将链表的内容变成字符串class Arrays{public static String toString(ArrayList<Character> al){Object[] o=al.toArray();StringBuilder sb=new StringBuilder();for(Object oo:o){sb.append(oo);}return sb.toString();}}

0 0
原创粉丝点击