Determine se A é permutação de B usando valores ASCII
Eu escrevi uma função para determinar se stringa
é uma permutação de stringb
. A definição é a seguinte:
bool isPermutation(std::string a, std::string b){
if(a.length() != b.length())
return false;
int a_sum, b_sum;
a_sum = b_sum = 0;
for(int i = 0; i < a.length(); ++i){
a_sum += a.at(i);
b_sum += b.at(i);
}
return a_sum == b_sum;
}
O problema com minha abordagem é que, sea = 600000
eb = 111111
, a função retorna true.
Existe alguma maneira de manter minha abordagem geral desse problema (em vez de classificar as strings e, em seguida,strcmp
) e manter a correção?