package com.qiu; import java.util.Scanner; /** * 递归排序,去除重复的 * Created by Administrator on 2017/8/8. */ public class sortByChar { static int count=0; public static void main(String[] args){ String s = "1222"; Pailie(s,""); } static void Pailie(String s,String p){ System.out.println(p); //字符串长度小于1,换行 if(s.length()<1){ count++; } else{ int index[] = new int[s.length()]; //改循环将所有的字符第一次出现的位置记录来数组index中 for(int i =0;i<s.length();i++){ index[i] = s.indexOf(s.charAt(i)); } //只有当循环数与第一次记录数相等时才递归,保证相同字符中的第一个调用 for(int i =0;i<s.length();i++){ if(i==index[i]){ Pailie(s.substring(1),p+s.substring(0,1));//递归,打印其他字符 } s = s.substring(1)+s.substring(0,1);//循环移位 } } } }
递归去所有不重复的排序情况
最新推荐文章于 2021-03-04 15:53:55 发布