题目链接
题目内容
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1
输入: s = "anagram", t = "nagaram"
输出: true
示例 2
输入: s = "rat", t = "car"
输出: false
说明:
你可以假设字符串只包含小写字母。
进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
解题思路
1.将两个string复制到两个vector;
2.利用vector的sort对字符串中的字符进行排序;
3.比较两个字符,一样返回true,不一样返回false。
代码
class Solution {
public:
bool isAnagram(string s, string t) {
vector<char> vs;
vector<char> vt;
for(int i = 0; i < s.size();++i)
vs.push_back(s[i]);
for(int i = 0; i < t.size();++i)
vt.push_back(t[i]);
sort(vs.begin(),vs.end());
sort(vt.begin(),vt.end());
if(vs == vt)
return true;
return false;
}
};