题解 | 字符串字符匹配
字符串字符匹配
https://www.nowcoder.com/practice/22fdeb9610ef426f9505e3ab60164c93
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s,t;
cin>>s>>t;
bool vis[26] = {false}; // 建立 26 个“小写字母”的桶/哈希表,初始全假
for(char c : t)
{
vis[c - 'a'] = true; // c - 'a' 把 'a'~'z' 映射到 0~25,对应位置标记为“出现过”
}
bool all_present = true; // 乐观假设:全部存在
for(char c : s) // 扫描 s 的每个字符
{
if(vis[c - 'a'] == false) // 一旦有一个字母在 t 中没出现
{
all_present = false; // 标记失败
break; // 提前退出,省时间
}
}
cout<<(all_present?"true":"false")<<endl;
return 0;
}