題目
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;
}