题目链接:https://leetcode.cn/problems/longest-common-prefix/
📕题目要求:
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""
。
🧠解题思路
我们需要在一个字符串数组中找到一个最长的公共前缀,就可以以第一个字符串的第 i 个字符为标准,依次进行其它字符串第 i 个字符进行对比,若每个字符串都拥有该字符,将下标向后移动一位再进行比较,直到出现其他字符串中的第 i 个字符与第一个字符串中的第 i 个字符不相同为止。然后将第一个字符串中第 i 个字符置为 ‘\0’(目的是将第一个字符串作为结果返回,且到不相同的字符停止返回)。
🍭代码示例
char * longestCommonPrefix(char ** strs, int strsSize)
{
int i = 0;
int j = 0;
int flag = 0;
while(strs[0][i]!='\0')
{
for(j=1;j<strsSize;j++)
{
if(strs[j][i]!=strs[0][i])
{
flag=1;
break;
}
}
if(flag==0)
{
i++;
}
else
{
strs[0][i]='\0';
break;
}
}
return strs[0];
}
这是我对这道题的见解,大佬们有更好的方法可以打在评论区,一起进步!