Question:Write a function to find the longest common prefix string amongst an array of strings.
问题描述:从一个字符串数组中找出所有字符串的最长前缀。
note:当字符串数组为空时,返回""
LeetCode代码如下(包含程序注释):
char* longestCommonPrefix(char** strs, int strsSize) {
if(!strsSize) // 若字符串数组为空,则返回""
return "";
else
{
char pre[1024] = ""; // 保存字符串前缀
char ch;
int flag = 0; // 标识符
for(int i = 0;; i++)
{
ch = strs[0][i]; // 取第0个字符串的第i个字符
for(int j = 0; j < strsSize; j++)
{
if(strs[j][i] != ch || !ch) // 若字符与当前字符不相等,或当前字符为' ',则退出; 标志值1,表示已找到最长前缀
{
flag = 1;
break;
}
}
if(flag) // flag为1时,退出循环
break;
pre[i] = ch; // 表示当前ch是前缀中的一个字符
}
return pre;
}
}