用C语言编写。求最长公共前缀 查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。
时间: 2024-04-29 10:25:47 浏览: 13
可以使用水平扫描法,即先将第一个字符串作为最长公共前缀,然后依次比较后面的字符串,不断更新最长公共前缀。如果在比较过程中发现最长公共前缀已经为空字符串,则直接返回。
以下是用C语言实现的代码:
```
#include <stdio.h>
#include <string.h>
char *longestCommonPrefix(char **strs, int strsSize) {
if (strsSize == 0) return "";
char *prefix = strs[0];
for (int i = 1; i < strsSize; i++) {
int j = 0;
while (prefix[j] != '\0' && strs[i][j] != '\0' && prefix[j] == strs[i][j]) {
j++;
}
prefix[j] = '\0';
if (prefix[0] == '\0') return "";
}
return prefix;
}
int main() {
char *strs[] = {"flower", "flow", "flight"};
int strsSize = 3;
char *prefix = longestCommonPrefix(strs, strsSize);
printf("Longest common prefix: %s", prefix);
return 0;
}
```
输出结果为:
```
Longest common prefix: fl
```
希望能够帮到您!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)