A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© linzi 中级黑马   /  2016-6-18 14:28  /  651 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

(1)打印一个字符串的全字符组合情况,原始字符串中没有重复字符
(2)例如:原始字符串是"def", 打印得到下列所有组合情况:
"d" "e" "f" "de" "df" "ed" "ef" "fd" "fe" "def" "dfe" "edf" "efd" "fde" "fed"

TreeSet<String> ts = new TreeSet<>();
                ts.add("gd");
                ts.add("fs");
                ts.add("nk");
                ts.add("js");
                ts.add("tm");
               
                System.out.println(ts);
写完后没有思路了,请大神解决一下,3q





5 个回复

正序浏览
用arraylist 集合
先将字符串拆分成字符
然后用嵌套循环将字符拼接成字符串
接着就是将拼接好的字符串添加至集合中
最后打印
回复 使用道具 举报
还是来一份简单粗暴的源码吧.(没学集合可用字符串数组做,长度为15)       
char[] ch = "def".toCharArray();
                ArrayList<String> list = new ArrayList<>();
                for (int i = 0; i < ch.length; i++) {
                        list.add(ch[i] + "");
                        for (int j = 0; j < ch.length; j++) {
                                if(ch[i] == ch[j]) {
                                        continue;
                                } else {
                                        list.add(ch[i] + "" +  ch[j]);
                                        for (int j2 = 0; j2 < ch.length; j2++) {
                                                if(ch[j2] == ch[j] || ch[j2] == ch[i]) {
                                                        continue;
                                                } else {
                                                        list.add(ch[i] + ""  + ch[j] + ch[j2]);
                                                }
                                        }
                                }
                        }
                }
                System.out.println(list);
回复 使用道具 举报

1,将字符串通过tochararray转为字符数组
2,第一次遍历数组将元素存入容器     得到 d e f
3,第一次遍历中嵌套第二次遍历. 第二次遍历中可得到 dd de df ed ee ef fd fe ff 排除dd ee ff后存容器
4,第二次遍历中嵌套第三次遍历,排除重复后得到 "def" "dfe" "edf" "efd" "fde" "fed"   ,然后存容器
回复 使用道具 举报
还没学到这块。。。。。
回复 使用道具 举报
我们set接口还没学
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马