您的位置:首页 > 其它

递归去所有不重复的排序情况

2017-08-08 19:00 155 查看
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);//循环移位
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐