力扣腾讯50题(2)- 最长公共前缀
欢迎来到菜鸡刷题第二天
题目:
这道题可以用暴力法解决,挨个字符找
一、思路
挨个字符串依次查找最长公共前缀,从第一个字符开始。
1.从第一个字符开始,到字符串结尾则退出
if(strs[i][j]==strs[++i][j])
if(i==strsSize-1)
{
j++;
i=0;
}
2.将公共前缀赋值输出
char* str = (char*)malloc(j+1);
str = memset(str,0,j+1);
str = strncpy(str,strs[0],j);
return str;
以上就是本题思路
二、代码
char * longestCommonPrefix(char ** strs, int strsSize)
{
if(strsSize==0)
return "";
if(strsSize==1)
return strs[0];
int i=0,j=0;
while(1)
{
if(strs[i][j]=='\0')
break;
if(strs[i][j]==strs[++i][j])
{
if(i==strsSize-1)
{
j++;
i=0;
}
}
else
break;
}
char* str=(char*)malloc(j+1);
str=memset(str,0,j+1);
str=strncpy(str,strs[0],j);
return str;
}