參考資訊:
https://leetcode.com/studyplan/leetcode-75/
https://github.com/doocs/leetcode/blob/main/solution/1000-1099/1071.Greatest%20Common%20Divisor%20of%20Strings/README_EN.md
題目:
解答:
int gcd(int a, int b) { if(b == 0) { return a; } return gcd(b, a % b); } char* gcdOfStrings(char* str1, char* str2) { int cc = 0; int s1_len = strlen(str1); int s2_len = strlen(str2); char *t1 = malloc(s1_len + s2_len + 1); char *t2 = malloc(s1_len + s2_len + 1); strcpy(t1, str1); strcat(t1, str2); strcpy(t2, str2); strcat(t2, str1); if (strcmp(t1, t2)) { return ""; } cc = gcd(s1_len, s2_len); str1[cc] = 0; return str1; }