题目描述
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
思路:
题目咋一看没思路,可以尝试着写几个字符串,推导一下各种可能,然后从中找找思路。比如abc 的组合,先想以a开头,以b开头,以c开头,在确定好了第一个字母的前提下,再按同样的步骤,确定第二个字母,以此类推。
比如abc: abc 、acb、 bac、 bca 、cba 、cab
看代码可能会更好理解。
public class Permutation{
private static ArrayList<String> list = new ArrayList<>();
public static ArrayList<String> permutation(String str<