一、题目描述
给定一个只包含大写英文字母的字符串S,要求你给出对S重新排列的所有不相同的排列数。
如:S为ABA,则不同的排列有ABA、AAB、BAA三种。
二、输入描述
输入一个长度不超过10的字符串S,确保都是大写的。
三、输出描述
输出S重新排列的所有不相同的排列数(包含自己本身)。
四、测试用例
测试用例1
1、输入
ABA
2、输出
3
3、说明
测试用例2
1、输入
AABBC
2、输出
30
五、解题思路
全排列是一个很经典的回溯算法,定义一个Deque,存储使用了的字母,通过回溯寻找符合要求的字符串。
- 首先将输入字符串排序,以便相同的字符相邻,便于在回溯过程中跳过重复的排列。
- 首先将输入字符串排序,以