黑马程序员技术交流社区

标题: 求a/b/c三个字符的全排列 [打印本页]

作者: 非5莫属    时间: 2014-7-10 15:33
标题: 求a/b/c三个字符的全排列
package cn.nusof.main;

import java.util.LinkedHashSet;
import java.util.Set;

public class Test {
        public static void main(String[] args) {
                String input = "abc"; // 求a/b/c三个字符的全排列
                Set<String> results = new LinkedHashSet<String>();
                results.add("");
                for (int i = 0; i < input.length(); i++) {
                        for (int j = 0; j < input.length(); j++) {
                                String current = input.substring(j, j + 1);
                                Set<String> newones = new LinkedHashSet<String>();
                                for (String s : results) {
                                        if (s.indexOf(current) == -1) {
                                                s += current;
                                        }
                                        newones.add(s);
                                }
                                results.addAll(newones);
                        }
                }
                results.remove("");
                for (String s : results) {
                        System.out.println(s);
                }
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2