字符串的排列组合
2015-06-29 17:03
357 查看
package java_study.JianZhiOffer; import org.junit.Test; /** * Created by ethan on 2015/6/29. */ public class No28字符串的排列组合 { public void permutation(String str){ char[] arr = str.toCharArray(); permutationImp(arr, 0); } public void permutationImp(char[] arr, int begin){ if (arr==null) return; if (begin>=arr.length){ print_arr_char(arr); return; } for (int i=begin; i<arr.length; i++){ char tmp = arr[i]; arr[i] = arr[begin]; arr[begin] = tmp; permutationImp(arr, begin+1); char tmp1 = arr[i]; arr[i] = arr[begin]; arr[begin] = tmp1; } } public void permutation_with_dupilcate(int len){ int[] arr = new int[len]; permutation_with_dupilcate_Imp(arr, 0); } public void permutation_with_dupilcate_Imp(int[] arr, int begin){ if (arr==null) return; if (begin>=arr.length) { print_arr(arr); return; } for (int i=0; i<=9; i++){ arr[begin]=i; permutation_with_dupilcate_Imp(arr, begin+1); } } public void print_arr(int[] arr){ for (int i=0; i<arr.length; i++) System.out.print(arr[i]); System.out.println(); } public void print_arr_char(char[] arr){ for (int i=0; i<arr.length; i++) System.out.print(arr[i]); System.out.println(); } @Test public void test(){ permutation("abc"); } }
相关文章推荐
- NSDictionary、NSMutableDictionary的基本用法
- Spring Mongodb
- 对于业务中库存超卖测试
- eclipse下出现乱码的问题
- MyBatis根据Map中key作为字段名,value作为字段值修改数据
- iOS语言中的单例模式
- 关于开发者证书那点儿挫折
- OAuth 2.0系列教程(八) 授权码授权
- iOS开发工具-网络封包分析工具Charles
- DBN深信度网络
- 如何实现可动态调整隐藏header的listview
- [日志处理工作之五]整合logstash,kafka
- malloc()之后,内核发生了什么?
- Cordys Workspace 中Solution的使用
- linux 下密码加密程序(可以用于替换shadow文件中的用户密码)
- 虚拟机桥接网络设置(转)
- MySQL事务的艺术和陷阱
- [转] 机器学习那些事儿
- php把字符串指定字符分割成数组
- C#分析URL参数获取参数和值得对应列表