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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
原始字符串是"abc",打印得到下列所有组合情况:
                "a" "b" "c"
               "ab" "bc" "ca" "ba" "cb" "ac"
                "abc" "acb" "bac" "bca" "cab" "cba"


首先这题,我没明白题意。。是从键盘输入任意一个字符串,然后打印出来所有的组合情况吗?~那难度太大了。请高人指点。。

1 个回复

倒序浏览

  1. String str = "abc";
  2.                
  3.                 List<String> strAss = new ArrayList<String>();
  4.                 for (int i = 1; i <= str.length(); i++) {
  5.                         String sub = str.substring(0, i);
  6.                        
  7.                         int j = 0;
  8.                         while (j++ < sub.length()) {
  9.                                 strAss.add(sub);
  10.                                 sub = sub.substring(1) + sub.substring(0, 1);
  11.                         }
  12.                 }
  13.                
  14.                 for (String a : strAss) {
  15.                         System.out.println(a);
  16.                 }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马