LeetCode面试题 01.02. 判定是否互为字符重排

给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。

示例 1:

输入: s1 = “abc”, s2 = “bca”
输出: true
示例 2:

输入: s1 = “abc”, s2 = “bad”
输出: false

#include 
#include 
#include 

using namespace std;

bool CheckPermutation(string s1, string s2) {
     
	unordered_map<char, int> myMap;
	for (auto ch : s2)
		myMap[ch]++;
	for (auto ch : s1)
		myMap[ch]--;
	for (auto iter : myMap)
		if (iter.second != 0)
			return false;
	return true;
}

int main() {
     
	string s1, s2;
	cin >> s1 >> s2;
	if (CheckPermutation(s1, s2))
		cout << "Yes";
	else
		cout << "No";
	cout << endl;
	return 0;
}

你可能感兴趣的:(LeetCode)