转载--Java写String的全排列
2008-09-26 16:29
405 查看
这是一个不错的利用递归的例子,转载一下
public static void main(String[] args) {
System.out.println(Arrays.toString(permutation("1234")));
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
private static String[] permutation(String orginal){
ArrayList<String> list = new ArrayList<String>();
if(orginal.length() == 1){
return new String[];
} else{
for (int i = 0; i < orginal.length(); i++) {
String s = orginal.charAt(i) + "";
String result = "";
String resultA = result + s;
String leftS = orginal.substring(0, i) + orginal.substring(i + 1, orginal.length());
for (String element : permutation(leftS)) {
result = resultA + element;
list.add(result);
}
}
return (String[]) list.toArray(new String[list.size()]);
}
}
public static void main(String[] args) {
System.out.println(Arrays.toString(permutation("1234")));
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
private static String[] permutation(String orginal){
ArrayList<String> list = new ArrayList<String>();
if(orginal.length() == 1){
return new String[];
} else{
for (int i = 0; i < orginal.length(); i++) {
String s = orginal.charAt(i) + "";
String result = "";
String resultA = result + s;
String leftS = orginal.substring(0, i) + orginal.substring(i + 1, orginal.length());
for (String element : permutation(leftS)) {
result = resultA + element;
list.add(result);
}
}
return (String[]) list.toArray(new String[list.size()]);
}
}
相关文章推荐
- (转载) java--String常量池问题的几个例子
- (转载)Java:int 和 String 互相转换的多种方法
- 【转载】java中Date与String的相互转化
- Java:String和Date、Timestamp之间的转换(转载)
- 栈(stack)与堆(heap)区别以及Java的string变量赋值的内部工作机制(精典转载贴)
- 转载 java——最快捷的将输入流转换为String的方法
- 栈(stack)与堆(heap)区别以及Java的string变量赋值的内部工作机制(精典转载贴)
- JAVA字符串格式化-String.format()的使用 (转载)
- [转载]java Timestamp、Date和String之间的互转
- Java中String,StringBuffer和StringBuilder的区别(转载)
- Java String.contains()方法(转载)
- Java JVM 请别拿“String s=new String("z");创建了多少实例”来面试 [ 转载 ]
- 【转载】Java中将InputStream读取为String, 各种方法的性能对比
- android Java String 与 StringBuffer 用法区别(转载 )
- java中String的比较(转载)
- 栈(stack)与堆(heap)区别以及Java的string变量赋值的内部工作机制(精典转载贴)
- 【转载】mybaits错误解决:There is no getter for property named 'id' in class 'java.lang.String'
- 栈(stack)与堆(heap)区别以及Java的string变量赋值的内部工作机制(精典转载贴)
- 【转载】Java 性能优化之 String 篇
- 转载 Java String浅见