描述:
给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。置换的意思是,通过改变顺序可以使得两个字符串相等。
样例:
“abc” 为 “cba” 的置换。
“aabc” 不是 “abcc” 的置换。
class Solution {
public:
/**
* @param A a string
* @param B a string
* @return a boolean
*/
bool stringPermutation(string& A, string& B) {
// Write your code here
string AA = A;
string BB = B;
size_t len = strlen(AA.c_str());
if (len != strlen(BB.c_str())) {
//AA、BB字符串长度不等则返回false
return false;
} else {
//使用STL算法对AA、BB进行排序
std::sort(AA.begin(), AA.end());
std::sort(BB.begin(), BB.end());
//对排序后的AA、BB进行比较
if (strcmp(AA.c_str(), BB.c_str()) == 0) {
return true;
} else {
return false;
}
}
}
};
测试用时:16ms