參考資訊:
https://www.cnblogs.com/cnoodle/p/14325580.html
題目:
解答:
int mysort(const void *a, const void *b) { return (*(int *)a) - (*(int *)b); } bool closeStrings(char* word1, char* word2) { int cc = 0; int cnt[2][26] = { 0 }; int w1_len = strlen(word1); int w2_len = strlen(word2); for (cc = 0; cc < w1_len; cc++) { cnt[0][word1[cc] - 'a'] += 1; } for (cc = 0; cc < w2_len; cc++) { cnt[1][word2[cc] - 'a'] += 1; } for (cc = 0; cc < 26; cc++) { if ((cnt[0][cc] > 0) && (cnt[1][cc] == 0)) { return false; } if ((cnt[1][cc] > 0) && (cnt[0][cc] == 0)) { return false; } } qsort(&cnt[0][0], 26, sizeof(int), mysort); qsort(&cnt[1][0], 26, sizeof(int), mysort); for (cc = 0; cc < 26; cc++) { if (cnt[0][cc] != cnt[1][cc]) { return false; } } return true; }