leetcode最长公共前缀 c语言
时间: 2025-02-25 16:06:03 浏览: 50
### 查找最长公共前缀的C语言实现
对于查找字符串数组中最长公共前缀的问题,在C语言中的解决方案可以通过逐字符比较的方法来完成。下面是一个具体的函数实现:
```c
char * longestCommonPrefix(char ** strs, int strsSize){
if (strsSize == 0) {
return "";
}
char* prefix = strs[0];
for(int i = 1; i < strsSize; ++i) {
int j;
for(j = 0; prefix[j] != '\0' && strs[i][j] != '\0'; ++j) {
if(prefix[j] != strs[i][j]) break;
}
prefix[j] = '\0';
if(strlen(prefix) == 0) break;
}
return prefix;
}
```
此算法首先检查输入数组是否为空,如果为空则返回空字符串作为结果。接着初始化`prefix`变量为第一个字符串的内容,并遍历剩余的每一个字符串,通过逐一匹配字符的方式更新当前已知的最大公共前缀直到遇到不同的字符为止。一旦发现某个位置上的字符不一致,则截断`prefix`到目前为止已经找到的一致部分并继续处理下一个字符串。
当所有字符串都已经被处理完毕之后,最终得到的就是这些字符串共有的最长前缀[^1]。
阅读全文
相关推荐






