题目
Write a function to find the longest common prefix string amongst an array of strings.
分析
寻找一组字符串中的最长公共前缀字符串。
可以通过挨个进行分析,两个两个的对比,最后找出公共前缀。
也可以挨个字符对比,看每个字符串都有没有,找到某位的字符不相同时即可。
下面的C代码已通过。
char* longestCommonPrefix(char** strs, int strsSize) {
char *ans=(char *)malloc(sizeof(char)*1000);
if(strsSize==0)return "";
if(strsSize==1)return strs[0];
int length=0;
while(strs[0][length]!='\0'&&strs[1][length]!='\0'&&strs[0][length]==strs[1][length])
{
ans[length]=strs[0][length];
length++;
}
for(int i=2;i<strsSize;i++)
{
int temp=0;
while(strs[i][temp]!='\0' && temp<length && strs[i][temp]==ans[temp])
temp++;
if(temp<length)length=temp;
}
ans[length]='\0';
return ans;
}