天然想法使用字典来对字符计数,可以想象把相同字符放在一个桶中,假设排列字符串长度为n,不同字符个数为m,那么有n个level,m个桶。开始默认0层字符串为空串。每一个level从m个桶中有字符一个桶中取,取完拼接上上一层的字符串。到第n层把结果push到数组中,输出。语文不好,表述不是特别清晰,希望谅解。 class Solution { public: vector<string> res; int n = 0; vector<string> Permutation(string str) { map<char, int> m; for(char c : ...