有重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合。
示例1:
输入:S = “qqe”
输出:[“eqq”,“qeq”,“qqe”]
示例2:
输入:S = “ab”
输出:[“ab”, “ba”]
提示:
字符都是英文字母。
字符串长度在[1, 9]之间。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/permutation-ii-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
利用回溯+剪枝算法来求解:
class Solution {
private List<String> res = new ArrayList<>();
//标记已经使用过的字符
private int[] temp;
public String[] permutation(String S) {
if(S == null){
return null;
}
char[] arr = S.toCharArray();
//先排序
xz(arr);
S= String.valueOf