用Java编写程序;求字母A和B的各种排列组合(递归思想)

用此方法publicstaticvoidgenerate(intn,Strings,ArrayList<String>results)例如n=2输出结果“AA”,“AB”... 用此方法 public static void generate(int n, String s, ArrayList<String> results) 例如n =2 输出结果“AA”,“AB”, "BA", "BB" 。n =3时输出结果 “AAA”,“AAB”,“ABA”,“BAA”,“ABB”,“BBA”,“BAB”,“BBB". 最终结果保存在ArrayList<String> results里

万分感谢
展开
 我来答
0xccx1
2014-07-08 · 超过12用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:35.9万
展开全部
//PS:不太明白函数中String s的意义,所以忽略了。
import java.util.ArrayList;  
import java.util.List;  
  
  
public class CompoundString {  
    
    private static void generate(int n,List<String> results) {   
        if(n==1){
         return;
        }
     List<String> resultsTemp_A = new ArrayList<String>();
     List<String> resultsTemp_B = new ArrayList<String>();
     for(String str : results){
         String temp_A = str+"A";
         resultsTemp_A.add(temp_A);
         String temp_B = str+"B";
         resultsTemp_B.add(temp_B);
        }
     //此处results引用不能改变,否则任何修改对main函数中的results都无效
     results.clear();
     results.addAll(resultsTemp_A);
     results.addAll(resultsTemp_B);
     generate(n-1, results);  // recursive
    }  
  
    public static void main(String[] args) {  
     List<String> results = new ArrayList<String>();
     results.add("A");
     results.add("B");
     generate(8, results);
     for(String str : results){
     System.out.println(str);
     }
    }  
}
wujiang624
2014-07-08 · TA获得超过142个赞
知道答主
回答量:131
采纳率:0%
帮助的人:133万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式