题目
给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。
给定一个string stringA和一个string stringB,请返回一个bool,代表两串是否重新排列后可相同。保证两串的长度都小于等于5000。
我的题解
class Same {
public:
bool checkSam(string stringA, string stringB) {
// write code here
int counter[256] = {0}, i = 0;
if(stringA.size() != stringB.size())
return false;
for(; i < stringA.size(); ++ i) {
counter[stringA[i]] ++;
}
for(i = 0; i < stringB.size(); ++ i) {
if(counter[stringB[i]] == 0)
return false;
else counter[stringB[i]] --;
}
return true;
}
};
一个简单的多维计数器。