【题目】 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。你可以按任意顺序返回答案。 【示例1】 输入:[“bella”,“label”,“roller”] 输出:[“e”,“l”,“l”] 【示例2】 输入:[“cool”,“lock”,“cook”] 输出:[“c”,“o”] 【提示】 1 <= A.length <= 100 1 <= A[i].length <= 100 A[i][j] 是小写字母 【代码】
class Solution { public: vector<string> commonChars(vector<string>& A) { vector<string> rs; string str[26]={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s" ,"t","u","v","w","x","y","z"}; int chnum[110][26]={0}; for(int i=0;i<A.size();i++) for(int j=0;j<A[i].size();j++) chnum[i][A[i][j]-'a']++; // for(int i=0;i<A.size();i++){ // for(int j=0;j<26;j++) // cout<<str[j]<<" "<<chnum[i][j]<<" "; // cout<<endl; // } // cout<<A.size()<<endl; for(int i=0;i<26;i++){ int base=chnum[0][i]; for(int j=1;j<A.size();j++) base=min(base,chnum[j][i]); // cout<<str[i]<<" "<<base<<endl; while(base--) rs.push_back(str[i]); } return rs; } };