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];
}
结果:

本文介绍了一种解决LeetCode上最长公共前缀问题的有效方法——纵向扫描。通过对比多个字符串中相同位置的字符来找出最长的公共前缀。文章提供了一个简洁的C语言实现示例。
364

被折叠的 条评论
为什么被折叠?



