/**
* Note: The returned array must be malloced, assume caller calls free().
*/
#define LEN 7
int cmp(int *a, int *b){
char buffer1[LEN];
char buffer2[LEN];
int i;
memset(buffer1, 0, sizeof(buffer1));
memset(buffer2, 0, sizeof(buffer2));
sprintf(buffer1, "%d", *a);
sprintf(buffer2, "%d", *b);
for(i=0; i<LEN; i++){
if(buffer1[i] != buffer2[i] && buffer1[i] && buffer2[i]) {
return buffer1[i] - buffer2[i];
}
}
return 0;
}
int* lexicalOrder(int n, int* returnSize){
int *ret = (int *)malloc(sizeof(int) * n);
int i;
for(i=1; i<=n; i++){
ret[i-1] = i;
}
qsort(ret, n, sizeof(int), cmp);
*returnSize = n;
return ret;
}
leetcode-386-字典序排数-C语言
最新推荐文章于 2022-05-02 13:27:26 发布