输入一个字符串,输出该字符串中相邻字符的所有组合。

输出要为:

一行,每个组合以空格分隔,相同长度的组合需要以字典序排序,且去重

代码分为三部分第一部分查找符合要求的字符串排列

public  static void permu(String s,String t,int m,int start){
    if(m<=0)
    {
        if(!arrayList.contains(t))
            arrayList.add(t);
        return;
    }
    if (s.length()-start 
  

读取输入并且进入递归函数

public static ArrayList arrayList = new ArrayList<>();
public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    while (in.hasNext()){
        String s = in.nextLine();
        for (int i = 1;i<=s.length();i++)
            for (int j = 0;j 
  

最后要把找出来的ArrayList进行按照长度的字典序排列实习Comparator

private static class StringComparator implements Comparator {
    public int compare(String o1, String o2) {
        int len1 = o1.length();
        int len2 = o2.length();
        if (len1 != len2)
            return len1 - len2;
        else
            return o1.compareTo(o2);
    }
}

 

你可能感兴趣的:(算法)