您的位置:首页 > 编程语言 > Java开发

(原创)java 输出排列组合,’4‘ 不能在第三位,‘3’,‘5’不能相连。

2011-11-03 23:07 513 查看
1 package karl.test;
2
3 import java.util.Iterator;
4 import java.util.Set;
5 import java.util.TreeSet;
6
7 public class Test {
8 private static Set<String> set = new TreeSet<String>();
9
public static String sort(String prex, String str) {
boolean flag = true;
int len = str.length();
if (str.length() == 1) {
set.add(prex + str);
flag = false;
return prex + str;
}

for (int i = 0; i < len; i++) {
String reststr = str.substring(0, i) + str.substring(i + 1, len);
prex += str.charAt(i);
sort(prex, reststr);
if (flag) {
prex = prex.substring(0, prex.length() - 1);
flag = true;
}
}
return null;
}

public static void main(String[] args) {
String str = "122345";
sort("", str);
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String next = it.next();
if (next.contains("35") || next.contains("53")
|| (next.charAt(3) == '4')) {

} else {
System.out.println(next);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐