Letter Tile Possibilities
给一个string, 问里面的字符能组成多少种string.
简单的组合问题.直接dfs
class Solution {
public:
int res = 0;
int numTilePossibilities(string tiles) {
vector<int> count(26, 0);
for(auto c : tiles){
count[c - 'A']++;
}
dfs(count);
return res;
}
void dfs(vector<int>& count){
for(int i = 0; i < count.size(); i++) {
if(count[i] != 0){
count[i]--;
res++;
dfs(count);
count[i]++;
}
}
}
};