Question:
Given two strings s and t, write a function to determine if t is an anagram of s.
For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.
Note:
You may assume the string contains only lowercase alphabets.
解题思路(该解题思路是最一般的解法时间复杂度威O(n * n)):先比较两个字符串的长度是否一样,其次在其中一个字符串中去寻找另一个字符串的元素,相同则delete掉,直到最后没有多余的字符剩余,则return true,否则return false
代码部分:
class Solution {
public:
bool isAnagram(string s, string t) {
int sl = s.length();
int tl = t.length();
if(sl != tl) return false;
else{
string tt = t;
for(int i = 0; i < sl; i++){
int count = 0;
int tmp = tt.length();
for(int j = 0; j < tmp; j++){
if(s[i] == tt[j]){
tt.erase(j, 1);
break;
}
else count++;
}
if(count == tmp) return false;
}
return true;
}
}
};