3ms c solution simple to understand
\n/**\n * Return an array of size *returnSize.\n * Note: The returned array must be malloced, assume caller calls free().\n */\n\nchar** fizzBuzz(int n, int* re
```\n/**\n * Return an array of size *returnSize.\n * Note: The returned array must be malloced, assume caller calls free().\n */\n\nchar** fizzBuzz(int n, int* returnSize) {\n    *returnSize = n;\n    char buf[11];\n    char** re_p = (char**)malloc(sizeof(char*)*n);\n    int i = 0;\n    for(i=0;i<n;i++)\n    {\n        if(((i+1)%3==0)&&((i+1)%5==0))\n        {\n            sprintf(buf,"%s","FizzBuzz");\n        }else if((i+1)%3==0){\n            sprintf(buf,"%s","Fizz");\n        }else if((i+1)%5==0){\n            sprintf(buf,"%s","Buzz");\n        }else{\n            sprintf(buf,"%d",i+1);\n        }\n        re_p[i]=malloc(sizeof(buf));\n        memcpy(re_p[i],buf,strlen(buf)+1);\n        memset(buf,"",11);\n    }\n\n    return re_p;\n}\n```
[]