0
点赞
收藏
分享

微信扫一扫

Valid Anagram 比较两个字符串是否相同


Valid Anagram


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

Note:
You may assume the string contains only lowercase alphabets.

class Solution {
public:

//我觉得可以哈希做,消耗内存;也可以排序后按字比较,复杂度高一点
bool isAnagram(string s, string t) {
/*
//哈希做 AC
char str[256];
int len1=s.size(),len2=t.size();
if(len1!=len2)
return false;
else if(len1==0)
return true;
int i;
memset(str,0,sizeof(str));
for(i=0;i<len1;i++)
{
str[s[i]]++;
}
for(i=0;i<len2;i++)
{
str[t[i]]--;
}
for(i=97;i<=122;i++)
{
if(str[i]!=0)
break;
}
if(i!=123)
return false;
else
return true;

*/

int i,len1=s.size(),len2=t.size();
if(len1!=len2)
return false;
else if(len1==0)
return true;
sort(s.begin(),s.end());
sort(t.begin(),t.end());
for(i=0;i<len1;i++)
{
if(s[i]!=t[i])
break;
}
if(i==len1)
return true;
else
return false;
}
};

举报

相关推荐

0 条评论