题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。

来源:互联网 发布:人工智能领域的大牛 编辑:程序博客网 时间:2024/04/28 22:07

题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符abc所能排列出来的所有字符串abcacbbacbcacabcba

http://zhedahht.blog.163.com/blog/static/254111742007499363479/

/** *  */package interview;import java.util.Arrays;/** * @author clydelou *  */public class Test {/** * @param args */public static void p(int[] a, int index) {if (a == null || index < 0)return;if (index == (a.length - 1))System.out.println(Arrays.toString(a));else {for (int i = index; i < a.length; i++) {int temp = a[i];a[i] = a[index];a[index] = temp;p(a, index + 1);temp = a[i];a[i] = a[index];a[index] = temp;}}}public static void main(String[] args) {// TODO Auto-generated method stubint[] a = { 1, 2, 3 };p(a, 0);}}


 

 

原创粉丝点击