- Total Accepted: 153072
- Total Submissions: 333862
- Difficulty: Easy
- Contributor: LeetCode
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.
Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?
思路:
借助vector的sort()函数将两个字符串进行排序,排序后,若对应元素均相等,则返回true;否则,返回false。
class Solution {
public:
bool isAnagram(string s, string t) {
vector<char> sv(s.size());
vector<char> tv(t.size());
if(s.size()!=t.size()) return false;
else{
for(int i=0;i<s.size();i++) sv[i]=s[i];
for(int i=0;i<t.size();i++) tv[i]=t[i];
sort(sv.begin(),sv.end());
sort(tv.begin(),tv.end());
for(int i=0;i<sv.size();i++){
if(sv[i]!=tv[i]) return false;
}
return true;
}
}
};