编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,“flow”,“flight”] 输出:“fl” 示例 2:
输入:strs = [“dog”,“racecar”,“car”] 输出:"" 解释:输入不存在公共前缀。
提示:
0 <= strs.length <= 200 0 <= strs[i].length <= 200 strs[i] 仅由小写英文字母组成
通过次数465,305提交次数1,185,287来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
char * longestCommonPrefix(char ** strs, int strsSize){
if(strsSize==0) return "";
int len =strlen(strs[0]);
char* res = (char *)malloc(len*sizeof(char));
for(int i =0;i<len;i++)
{
char temp = strs[0][i];
for(int j = 0;j<strsSize;j++)
{
if(strs[j][i]=='\0')
{
res[i]='\0';
return res;
}
if( strs[j][i]!=temp)
{
res[i]='\0';
return res;
}
}
res[i]=temp;
}
return strs[0];
}
这道题要注意两点 动态申请的字符串一定要有结尾符号 不然会报错,其次给的参数中的二维数组里面的每一个字符串的结尾都有一个\0作为结束符号