排列(长度为n的字符串所有组成情况)--java实现
来源:互联网 发布:百度世界人工智能大会 编辑:程序博客网 时间:2024/05/21 14:57
递归方法代码实现:
/** * 全排列 * @param input * @return */ public static List<String> FullPermutation(String input){ List<String> list = new ArrayList<String>(); StringBuffer tmp = new StringBuffer(); for (int i = 0; i < input.length(); i++) { RecursiveMethod(input, i, tmp); } return list; } /** * 递归获取全排列所有可能 * @param inStr * @param pos * @param parentData */ public static void RecursiveMethod(String inStr,int pos,StringBuffer parentData){ StringBuffer res = new StringBuffer(); res.append(parentData); res.append(inStr.charAt(pos)); inStr = deleteElement(inStr, pos); if (inStr.length() == 0) { System.out.println(res.toString()); return; } for (int i = 0; i < inStr.length(); i++) { RecursiveMethod(inStr, i, res); } } /** * 删除已经添加过的字符 * @param inStr * @param pos * @return */ public static String deleteElement(String inStr,int pos){ StringBuffer outStr = new StringBuffer(); if (inStr != null) { for (int i = 0; i < inStr.length(); i++) { if (i != pos) { outStr.append(inStr.charAt(i)); } } } return outStr.toString(); } public static void main(String[] args) { String inStr = "abcdefg"; for (int i = 0; i < inStr.length(); i++) { FullPermutation(inStr); } }
2 0
- 排列(长度为n的字符串所有组成情况)--java实现
- 算法实现:字符串的所有排列情况
- 创建一个长度为n的随机字符串字符串(C Python Java三版实现)
- Java中实现打印1—N个数字排列的所有情况
- 1到n的所有排列情况
- 组合(从长度为n的字符串中取m个字符)---java两种实现方法
- 所有情况下全排列的实现
- 求解一个字符串的所有排列 java实现
- 求出abcde/fghij=n的所有情况,其中,a~j为0~9的一个排列
- 打印n长度为n的所有数字
- 递归的应用,输出字符串的所有排列(java)
- java输出字符串的所有排列
- 字符串的排列(Java实现)
- 字符串的所有排列
- 字符串的所有排列
- 字符串的排列java实现
- 给出一个set的字符和一个正数k,求所有由这个set能组成长度为k的字符串集合 print-all-combinations-of-given-length
- 递归实现n个不同字符的所有全排列
- HDOJ 2101 A + B Problem Too
- HDOJ 1408 盐水的故事
- java提高篇(十九)-----数组之二
- HDOJ 2030 汉字统计
- HDOJ 2031 进制转换
- 排列(长度为n的字符串所有组成情况)--java实现
- HDOJ 2032 杨辉三角
- HDOJ 2033 人见人爱A+B
- HDOJ 2034 人见人爱A-B
- HDOJ 2040 亲和数
- HDOJ 2501 Tiling_easy version
- HDOJ 2565 放大的X
- HDOJ 1406 完数
- HDOJ 1210 Eddy's 洗牌问题