[
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
]
先找到最短的字符串,然后取其中的前缀取与其他字符串比较,是否是子串,重点在于库函数strncmp。返回字符串要用到strncpy。对于字符串操作,如果不知道这些库函数,写起来会非常累。
char * longestCommonPrefix(char ** strs, int strsSize){
int minLen;
int len;
int minIndex = 0;
int i, j;
char *preStr = malloc(1024);
int ret = 0;
memset(preStr, 0, 1024);
if (strsSize == 0) {
return preStr;
}
minLen = strlen(strs[0]);
for (i = 1; i < strsSize; i++) {
len = strlen(strs[i]);
if (len < minLen) {
minIndex = i;
minLen = le

&spm=1001.2101.3001.5002&articleId=104276044&d=1&t=3&u=1740d3b5be9b4f7589c8d95032e4dd84)
3123

被折叠的 条评论
为什么被折叠?



