題目
Write a function to find the longest common prefix string amongst an array of strings.
分析
尋找一組字符串中的最長(zhǎng)公共前綴字符串。
可以通過(guò)挨個(gè)進(jìn)行分析硬萍,兩個(gè)兩個(gè)的對(duì)比卧晓,最后找出公共前綴闷煤。
也可以挨個(gè)字符對(duì)比,看每個(gè)字符串都有沒(méi)有虑润,找到某位的字符不相同時(shí)即可芝此。
下面的C代碼已通過(guò)睡雇。
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;
}