1. 程式人生 > 實用技巧 >【leetcode】兩句話中的不常見單詞

【leetcode】兩句話中的不常見單詞

char ** uncommonFromSentences(char * A, char * B, int* returnSize){
    int alen = strlen(A);
    int blen = strlen(B);

    if (!alen && !blen)
    {
        * returnSize = 0;
        return NULL;
    }
    char* str = (char*)calloc(alen+blen+2,1); 
    if (alen)
    {
        strcpy(str,A);
        strcat(str,
" "); strcat(str,B); } else strcat(str, B); int len = strlen(str); char** arr = (char**)malloc(201*sizeof(char*)); char* s[200] = {0}; int hash[200] = {0}; int index = 0; int flag = true; char* p = str; int n = 0; for (int i=0; i<len+1; i++) {
if (str[i] == ' ' || str[i] == '\0') { str[i] = '\0'; for(int j=0; j<=index; j++) { if (s[j] && !strcmp(s[j],p)) { hash[j]++; flag = false; break
; } } if (flag) { hash[index]++; s[index++] = p; } flag = true; p = &str[i+1]; } } for (int j=0; j<index; j++) { if (hash[j]<2) { arr[n++] = s[j]; } } *returnSize = n; return arr; }