Write a function to find the longest common prefix string amongst an array of strings.
char* longestCommonPrefix(char** strs, int strsSize) {
char* str=strs[0];
int i,j;
if(strsSize==0)return "";
for(i=1;i<strsSize;i++)
{
j=0;
while(str[j] && strs[i][j] && str[j]==strs[i][j])
j++;
str[j]=0;
}
return str;
}
该代码参考网上代码
C++代码明显方便很多
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size() ==0)
return "";
int length=strs.size();
sort(strs.begin(),strs.end());
string result = "";
for(int i=0; i<strs[0].length(); i++)
{
for(int j=0; j<strs.size(); j++)
{
if(strs[0][i] != strs[j][i])
return result;
}
result.append(1,strs[0][i]);
}
return result;
}
};