华为机试 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")