您的位置:首页 > 其它

Valid Anagram

2016-05-27 13:40 288 查看
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.

方法一

class Solution {
public:
bool isAnagram(string s, string t) {
if(s.size()!=t.size()){
return false;
}
int b[26]={};
for(int i=0;i<s.size();i++){
b[s[i]-'a']++;
}
for(int i=0;i<t.size();i++){
if((--b[t[i]-'a'])<0){
return false;
}
}
return true;
}
};


方法二

class Solution {
public:
bool isAnagram(string s, string t) {
if (s.size() != t.size())
return false;
unordered_map<char, int> mapa;
for (char& ch : s)
mapa[ch]++;
for (char& ch : t)
mapa[ch]--;
for (auto it = mapa.begin(); it != mapa.end(); it++)
if ((*it).second != 0)
return false;
return true;
}
};


方法三

public class Solution {
public boolean isAnagram(String s, String t) {
char[] sArr = s.toCharArray();
char[] tArr = t.toCharArray();

Arrays.sort(sArr);
Arrays.sort(tArr);

return String.valueOf(sArr).equals(String.valueOf(tArr));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: