题目
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。
思路
逐个字符去对比所有字符串,即“纵向对比“每个字符串相同位置的字符。
char * longestCommonPrefix(char ** strs, int strsSize){
if(strsSize==0)
return "";
int i=0,j=0;
char flag=strs[0][i];
while(flag){
for(j=1;j<strsSize;j++){
if(strs[j][i]!=flag) break;
}
if(j<strsSize) break;
flag=strs[0][++i];
}
strs[0][i]='\0';
return strs[0];
}
输入:
strs =
[“flower”,“flow”,“flight”]
输出:
“fl”