首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >面试题24(写一个函数,例如:给你的 a b c 则输出 abc acb bac bca cab cba)

面试题24(写一个函数,例如:给你的 a b c 则输出 abc acb bac bca cab cba)

作者头像
Java学习
发布于 2018-04-18 15:26:07
发布于 2018-04-18 15:26:07
9880
举报
文章被收录于专栏:java学习java学习
写一个函数,例如:给你的 a b c 则输出 abc acb bac bca cab cba?

import java.util.ArrayList;

import java.util.List;

public class NumTest {

public static void main(String[] args) {

String s="ABC";//原字符串

List<String> result = list(s,"");//列出字符的组合,放入result

System.out.println(result.size());;

System.out.println(result);

}

/**

* 列出基础字符串(base)的所有组合

* @param base 以该字符串作为基础字符串,进行选择性组合。

* @param buff 所求字符串的临时结果

* @param result 存放所求结果

*/

public static List<String> list(String base,String buff){

List<String> result = new ArrayList<String>();//存放结果信息。

if(base.length()<=0){

result.add(buff);

}

for(int i=0;i<base.length();i++){ List<String>temp=list(newStringBuilder(base).deleteCharAt(i).toString(),buff+base.charAt(i));

result.addAll(temp);

}

return result;

}

}

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档