解题思路:
(1)参考链接:https://www.geeksforgeeks.org/write-a-c-program-to-print-all-permutations-of-a-given-string/
class Solution {
public:
void dfs(string tiles,int &count,int start) {
count++;
for(int i=start;i<tiles.size();i++) {
if(i!=start && tiles[i]==tiles[start]) continue;
swap(tiles[i],tiles[start]);
dfs(tiles,count,start+1);
}
}
int numTilePossibilities(string tiles) {
int count = -1;
sort(tiles.begin(),tiles.end());
dfs(tiles,count,0);
return count;
}
};