Repository containing solution for #SdeSheetChallenge by striver
Given two strings s and t, return true if t is an anagram of s, and false otherwise.
class Solution {
public:
bool isAnagram(string s, string t) {
sort(s.begin(),s.end());
sort(t.begin(),t.end());
return s==t?true:false;
}
};
class Solution {
public:
bool isAnagram(string s, string t) {
vector<int> a(26,0);
if(s.size()!=t.size()) return false;
for(auto &x:s){
a[x-'a']++;
}
for(auto &x:t){
--a[x-'a'];
}
for(auto &x:a){
if(x>=1) return false;
}
return true;
}
};
class Solution {
public:
bool isAnagram(string s, string t) {
vector<int> a(26,0);
if(s.size()!=t.size()) return false;
for(auto &x:s){
a[x-'a']++;
}
for(auto &x:t){
if(--a[x-'a']<0) return false;
}
return true;
}
};
bool areAnagram(string& str1, string& str2)
{
if (str1.length() != str2.length())
return false;
int count[26] = { 0 };
for (int i = 0; i < str1.length(); i++) {
count[str1[i] - 'a']++;
count[str2[i] - 'a']--;
}
for (int i = 0; i < 26; i++) {
if (count[i] != 0)
return false;
}
return true;
}