題目
給定兩個字符串,請編寫程序,確定其中一個字符串的字符重新排列後,能否變成另一個字符串。這裏規定大小寫爲不同字符,且考慮字符串重點空格。
給定一個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;
}
};
一個簡單的多維計數器。