华为机试 HJ81题解 | #字符串字符匹配#
字符串字符匹配
https://www.nowcoder.com/practice/22fdeb9610ef426f9505e3ab60164c93
#include <iostream>
#include <string>
#include <set>
#include <algorithm>
using namespace std;
bool MatchStr(string s, string t)
{
bool bRet = false;
set<char> sSet; // 借助set集合去重
set<char> tSet;
for (auto ch : s) {
sSet.insert(ch);
}
for (auto ch2 : t) {
tSet.insert(ch2);
}
// 遍历sSet
// 1.如果有字符在sSet中出现但不在tSet中出现,则返回false
for (auto ch : sSet) {
auto it = tSet.find(ch);
if (it == tSet.end()) {
return false;
}
}
return true;
}
int main() {
std::string s, t;
while (getline(cin, s)) { // 注意 while 处理多个 case
getline(cin, t);
if (MatchStr(s, t)) {
cout << "true" << std::endl;
} else {
cout << "false" << std::endl;
}
}
}
// 64 位输出请用 printf("%lld")
