Valid Anagram
Easy C++ KotlinProblem Statement
Dadas duas strings s e t, escreva uma função para determinar se t é um anagrama de s.
Questions to ask
Caracteres na string são apenas minúsculos? Sim
Podem existir caracteres especiais na string? Não
Solution
A solução é bem direta. Sabendo que o caractere é um número de 0 a 255, crie um vetor para contar a frequência dos caracteres da primeira string. Agora você passará pelo segundo array e removerá o caractere do array que conta a freqüência. Faça um loop pela matriz de frequência e, se algum valor for diferente de 0, retorne false. Caso contrário, retorne verdadeiro quando loop terminar.
bool isAnagram(string s, string t){
vector<int> counter (26,0);
for(auto letter : s){
counter[letter-'a']++;
}
for(auto letter : t){
counter[letter-'a']--;
}
for(auto count : counter){
if(count!=0)
return false;
}
return true;
}
Complexidade do Tempo: O(n)
Complexidade do espaço: O(1)
question from LeetCode