Longest Common Prefix in C
题目要求
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z
。
解题思路:第一次想的时候,是想把数组里的单词,拆分成一个个字母,接着每个字母,循环的去比较,结果发现出错了,而且也写不出来, 后来看了题解,只有Java的题解
1 char* longestCommonPrefix(char** strs, int strSize){ 2 char *str = strs[0]; 3 int i,j; 4 if(strSize == 0) return " "; 5 for(i = 1; i<strSize;i++){ 6 j = 0; 7 while(str[j]&&strs[i][j]&&str[j]==strs[i][j])j++; 8 str[j] ='\0'; 9 } 10 return str; 11 }