# Leetcode 1684. Count the Number of Consistent Strings
###### tags: `Leetcode`
題目
You are given a string allowed consisting of distinct characters and an array of strings words. A string is consistent if all characters in the string appear in the string allowed.
Return the number of consistent strings in the array words.
Example 1:
Input: allowed = "ab", words = ["ad","bd","aaab","baa","badab"]
Output: 2
Explanation: Strings "aaab" and "baa" are consistent since they only contain characters 'a' and 'b'.
Example 2:
Input: allowed = "abc", words = ["a","b","c","ab","ac","bc","abc"]
Output: 7
Explanation: All strings are consistent.
Example 3:
Input: allowed = "cad", words = ["cc","acd","b","ba","bac","bad","ac","d"]
Output: 4
Explanation: Strings "cc", "acd", "ac", and "d" are consistent.
解法:
1.for(int i =0; words[][]; i++)=>這樣可以遍歷字串
2.當作有26個格子,讓allowed裡面對應英文數字的格子變成1
3.遍歷字串,然後比較某個字串的格子跟一開始allowed的格子是否一樣if(allowedbit == (allowedbit|s))
======================
```
int countConsistentStrings(char * allowed, char ** words, int wordsSize){
int allowedbit = 0;
int count = 0;
int index = 0;
while(allowed[index] != '\0')
{
allowedbit |= 1<<(allowed[index]-'a');
index++;
}
for(int i = 0; i < wordsSize; i++)
{
int s = 0;
for(int j = 0; words[i][j]; j++)
{
s|=1<<(words[i][j]-'a');
}
if(allowedbit == (allowedbit|s))
count++;
}
return count;
}
```