华为机试 HJ81题解 | #字符串字符匹配#
字符串字符匹配
https://www.nowcoder.com/practice/22fdeb9610ef426f9505e3ab60164c93
#include <iostream> #include <string> #include <unordered_map> #include <algorithm> using namespace std; bool MatchStr(string s, string t) { bool bRet = false; unordered_map<char,int> sMap; unordered_map<char,int> tMap; for (auto ch : s) { sMap[ch]++; } for (auto ch2 : t) { tMap[ch2]++; } // 遍历sMap // 1.如果有字符在sMap中出现但不在tMap中出现,则返回false for (auto ch : sMap) { auto it = tMap.find(ch.first); if (it == tMap.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")