经常会遇到字符串全排列的问题。例如:输入为{‘a’,’b’,’c’},则其全排列组合为abc,acb,bac,bca,cba,cab。对于输入长度为n的字符串数组,全排列组合为n!种。

package Bayes;

public class RecursionTree {

public static void permutation(char[] s,int from,int to) {
if(to<=1)
{
return;
}
if(from ==to)
{
System.out.println(s);
}
else
{
for (int i = from; i <=to; i++) {
swap(s, i, from);
permutation(s, from+1, to);
swap(s, from, i);
}

}
}

public static void swap(char[] s,int i,int j) {
char tmp = s[i];
s[i] = s[j];
s[j] = tmp;
}

public static void main(String[] args) {
char[] s = {'a','b','c'};
permutation(s, 0, 2);
}

}

最新文章

  1. MD5工具类
  2. DIV+CSS 清除浮动方法总结
  3. XSS跨站点脚本攻击
  4. Android自定义surfaceView显示多张图片
  5. linux中安装eclipse,安装好之后不能直接建servlet,不能直接在jsp页面中run on server.权限在作怪,我猜的,
  6. timestamp 类型的索引
  7. 【转】Vim十大必备插件
  8. asp.net 下载Excel (数据流,不保存)--客户端
  9. [转]虚方法(virtual)和抽象方法(abstract)的区别
  10. GCC生成的汇编代码
  11. sql server 查询字符串指定字符出现的次数
  12. C#使用Sockets操作FTP【转载】
  13. android面试题之六
  14. 【Android Training - UserInfo】记住登入用户的信息[Lesson 1 - 使用AccountManager来记住用户]
  15. MySQL索引之B+树
  16. 洗礼灵魂,修炼python(65)--爬虫篇—BeautifulSoup:“忘掉正则表达式吧,我拉车养你”
  17. 【转】vmware的macos中apple ID一直登陆不上解决 ---(伪造smbios设备信息)
  18. C调用C++, C++调用C方法
  19. ps和AI使用过程中的易错点整理
  20. vue常用笔记

热门文章

  1. Matlab 一些函数
  2. 继承AbstractRoutingDataSource再通过AOP实现动态数据源切换
  3. 010——数组(十)compact extract in_array
  4. jqeury 基础
  5. springcloud- FeginClient 调用统一拦截添加请求头 RequestInterceptor ,被调用服务获取请求头
  6. C++设计模式之-外观模式
  7. Xss测试
  8. 编写configure.ac
  9. Apache配置php redis扩展
  10. 人生苦短之我用Python篇(XML模块)