首页 > 试题广场 >

拼接所有的字符串产生字典序最小的字符串

[编程题]拼接所有的字符串产生字典序最小的字符串
  • 热度指数:7005 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个长度为 n 的字符串数组 strs ,请找到一种拼接顺序,使得数组中所有的字符串拼接起来组成的字符串是所有拼接方案中字典序最小的,并返回这个拼接后的字符串。

数据范围:
进阶:空间复杂度 , 时间复杂度
示例1

输入

["abc","de"]

输出

"abcde"
示例2

输入

["a","a","b"]

输出

"aab"

备注:

不知道为啥报错。。。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int  cmp(const void *a ,const void*b){
    return strcmp((char *)a, (char *)b);
}
char* minString(char** strs, int strsLen ) {
    int i=0;
    char *res={0};
    res=(char *)malloc(strsLen*sizeof(strs[0]));
    qsort(strs, strsLen, sizeof(strs[0]), cmp);
    for(i=0;i<strsLen;i++){
        strcat(res,strs[i]);
    }
    return res;
}
发表于 2024-04-16 12:25:38 回复(0)