题目:Write a function to find the longest common prefix string amongst an array of strings.
思路:本题就是找到字符串中最长的公共前缀。
把第一个字符串给prefix,与之后的字符串比较。得到新的prefix,再比较;
解题代码:
char* longestCommonPrefix(char** strs, int strsSize) {
//判空
if(strsSize==0)
{
return "";
}
if(strsSize==1)
return *strs;
// char* pre=NULL;
//char* prefix=pre;
//strcpy(prefix,*strs);
//char* pre=(char*)malloc(sizeof(char)*1000);
//char* prefix=pre;
static char prefix[1000];
char* pre=prefix;
strcpy(prefix,strs[0]);
int i=1;
for(i=1;i<strsSize;i++)
{ pre=prefix;
char *a=strs[i];
int len=strlen(pre)<=strlen(a)?strlen(pre):strlen(a);
if(strlen(pre)==0||strlen(a)==0)
return "";
int j=0;
while(*pre==*a&&(len--)!=0)
{
pre++;
a++;
}
*pre='\0';
}
return prefix;
}