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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 youcyou 于 2014-5-14 17:17 编辑

编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符
例如:
原始字符串是"abc",打印得到下列所有组合情况
"a" "b" "c"
"ab" "bc" "ca" "ba" "cb" "ac"
"abc" "acb" "bac" "bca" "cab" "cba"
还是这个老问题,下面是我写的代码,求大神帮忙看一下
  1. import java.util.ArrayList;


  2. public class Test5 {

  3.         
  4.         public static void main(String args[])
  5.         {
  6.                 String s="abc";
  7.                 combinations(s);
  8.         }

  9.         private static void combinations(String s) {
  10.                 combinations("",s);
  11.                
  12.         }

  13.         private static void combinations(String st,String s) {
  14.                 ArrayList<Character> al =new ArrayList<Character>();
  15.                 char[] ch = s.toCharArray();
  16.                 for(char c:ch)
  17.                 {
  18.                         al.add(c);
  19.                 }
  20.                 getString(al,st);
  21.         }
  22.         private static void getString(ArrayList<Character> al,String st)
  23.         {
  24.                 for(int index=0;index<al.size();index++)
  25.                 {               
  26.                         String str=st+al.get(index);
  27.                         System.out.println(str);
  28.                
  29.                         al.remove(index);
  30.                         
  31.                         getString(al,str);
  32.                 }
  33.         }
  34. }
复制代码

评分

参与人数 2技术分 +1 黑马币 +1 收起 理由
pz_xiaoxie + 1 很给力!
天涯追梦 + 1

查看全部评分

22 个回复

正序浏览
问一下不使用递归可以吗
回复 使用道具 举报
都是大神啊,领教了
回复 使用道具 举报
还得多看看几遍
回复 使用道具 举报
这个题确实,看着简单,其实还是有点难度的,今天刚做完,嘿嘿。来学习下不同的思想。。
回复 使用道具 举报
6666666
666
回复 使用道具 举报
高手  我还得继续努力学习啊!
回复 使用道具 举报
牛人!!!
回复 使用道具 举报
这是基础题呀    感觉到有点难啊
回复 使用道具 举报
嗯   。。。。。。。。。。。。。。。。
回复 使用道具 举报
pandapan 发表于 2014-5-14 13:34
这位同学,代码的31行到36行出现了问题,可能是你对引用类型的理解存在一点偏差,其实从getString(ArrayLis ...

学习了,我在思考联系一下
回复 使用道具 举报
王劲松 来自手机 中级黑马 2015-7-28 21:52:18
13#
很好,很强大
回复 使用道具 举报
shero 中级黑马 2015-7-28 10:27:56
12#
很好,有用。
回复 使用道具 举报
都是高手。
回复 使用道具 举报
很好啊!
回复 使用道具 举报
有用,谢谢
回复 使用道具 举报
很好很好。。
回复 使用道具 举报
黄宽 中级黑马 2014-10-18 13:15:44
7#
数组的组合遍历还没好好学,还要下点功夫才行:)
回复 使用道具 举报
学习学习....
回复 使用道具 举报
学习啦,这个我还真不会,没试过、、、、
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马