Every day a leetcode
题目来源:14. 最长公共前缀
解法:纵向扫描
从前往后遍历所有字符串的每一列,比较相同列上的字符是否相同,如果相同则继续对下一列进行比较,如果不相同则当前列不再属于公共前缀,当前列之前的部分为最长公共前缀,通过给strs[0][i]赋值为‘\0’ 证明结束。
代码:
char * longestCommonPrefix(char ** strs, int strsSize){
if(strsSize == 0) return "";
int len=strlen(strs[0]);
for(int i=0;i<len;i++)
{
for(int j=0;j<strsSize;j++)
{
if(strs[j][i]!=strs[0][i])
{
strs[0][i]='\0';
return strs[0];
}
}
}
return strs[0];
}
结果: