哇!比较问题的另一个思路呀!利用hash的思想,开辟一个数组array,s字符串中出现一个字符,就在相应位置+1;t字符串中出现一个字符,就在相应位置-1,最后看array是否全是0就行了。
class Solution {
public:
/**
* @param s: The first string
* @param b: The second string
* @return true or false
*/
bool anagram(string s, string t) {
// write your code here
int array[26]={0};
int index_word = 0;
for(int i=0; i<s.size(); i++){
if(s[i]==' '){
continue;
}
if(s[i]>='a')
index_word = s[i]-'a';
else
index_word = s[i]-'A';
array[index_word]++;
}
for(int i=0; i<t.size(); i++){
if(t[i]==' '){
continue;
}
if(t[i]>='a')
index_word = t[i]-'a';
else
index_word = t[i]-'A';
array[index_word]--;
}
int length = sizeof(array)/sizeof(array[0]);
for(int i=0; i<length; i++){
if(array[i] != 0)
return false;
}
return true;
}
};