统计一致字符串的数目
问题:
给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words 。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串 。
请你返回 words 数组中 一致字符串 的数目。
思路:
- 取出字符数组中的每个字符串
- 将 words 字符数组中字符串的每一个字符与 allowed 字符串的每个字符进行比较
- 如果一样,则将标记 index 加一,表示 words 字符串中的字符存在于 allowed 字符串中。
- 如果 标记 index 等于字符串数组中字符串的长度,则说明全部都存在于 allowed 字符串中 → count++。
- 遍历完 words 后返回 count。
class Solution {
public:
const int countConsistentStrings(const string& allowed, const vector<string>& words) {
int count = 0;
for(const auto& str : words){
int i = 0, index = 0;
for(; i < str.length(); ++i){
for(const auto& c : allowed){
if(str[i] == c) {
index++;
}
}
if(index == str.length()) count++;
}
}
return count;
}
};