浅谈 统计一致字符串的数目 问题

统计一致字符串的数目

问题:
给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words 。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串 。

请你返回 words 数组中 一致字符串 的数目。

思路:

  1. 取出字符数组中的每个字符串
  2. 将 words 字符数组中字符串的每一个字符与 allowed 字符串的每个字符进行比较
  3. 如果一样,则将标记 index 加一,表示 words 字符串中的字符存在于 allowed 字符串中。
  4. 如果 标记 index 等于字符串数组中字符串的长度,则说明全部都存在于 allowed 字符串中 → count++。
  5. 遍历完 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;
    }
};

你可能感兴趣的:(数据结构与算法(刷题篇),字符串,leetcode,算法,c++)