描述
给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。
置换的意思是,通过改变顺序可以使得两个字符串相等。
样例
"abc"
为 "cba"
的置换。
"aabc"
不是 "abcc"
的置换。
代码
/* 给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。 置换的意思是,通过改变顺序可以使得两个字符串相等。 思路:用一个数组储存A字符个数,然后遍历B,相应字符个数减1,若为负,则不是置换 */ class Solution { public: /* * @param A: a string * @param B: a string * @return: a boolean */ bool Permutation(string &A, string &B) { int a[256] = {0}; // 储存ASCII码个数 if(A.length() != B.length()) { // 若长度不相同,不为置换 return false; } for(int i=0; i<A.length(); ++i) { // 遍历A,储存字符个数 a[A[i]-'