leetcode刷题记录-242. Valid Anagram
1.题目要求
Given two strings s and t, write a function to determine if t is an anagram of s.
Note:
You may assume the string contains only lowercase alphabets.
Example :
s = “anagram”, t = “nagaram”, return true.
s = “rat”, t = “car”, return false.
2.解题思路
思路比较简单,统计出现的元素的个数就行了,如果相同就返回true,否则返回false,代码如下:
bool isAnagram(string s, string t)
{
vector<int> s_vec(256,-1);
vector<int> t_vec(256,-1);
int i,j;
if(s.length()!=t.length())
return false;
for(i=0;i<s.size();i++)
{
s_vec[s[i]]++;
t_vec[t[i]]++;
}
for(i=0;i<s.size();i++)
{
if(s_vec[s[i]]!=t_vec[s[i]])
return false;
}
return true;
}
还有一种更简单的方法,代码如下:
bool isAnagram(string s, string t)
{
sort(s.begin(), s.end());
sort(t.begin(), t.end());
return s == t;
}
3.总结
总的来说,这道题目比较简单