0
問題が発生しているので、この関数の動作を理解できません。どんな助けでも大歓迎です。主に私は '0'でASCIIを使用している理由とasciiにキャストした後に増分と減分が達成していることについて混乱しています。順列を検索するASCII変換
bool isPermutation(string str1, string str2)
{
if(str1.size() != str2.size())
return false;
int i, j, counts[10];
for(i = 0; i < 10;i++)
counts[i] = 0;
for(i = 0; i < str1.size(); i++)
counts[str1[i] - '0']++; // (1)
for(i = 0; i < str1.size(); i++)
counts[str2[i] - '0']--; // (2)
for(i = 0; i < 10; i++) // (3)
if(counts[i] != 0) // (4)
return true; // (5) Should be return false;
return false; // (6) Should be return true;
}
0はゼロですが、 ''0 '== 48'です。ここを見て:http://www.asciitable.com/ – Tobias
私は理解していません。それはあなたが不思議に思っている機能ですか?上記のコード、実際のコード、またはコメントとして考えられるものは何ですか? – Tobias