LeetCode 14. 最长公共前缀 C语言100%实现
【题目】
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
【思路】
对所有字符串一个一个比较,一旦出现不一致,立刻跳出循环结束程序。
对于空间的节省:直接对strs[0]操作,因为返回的字符串一定是str[0]的一部分,如果只是部分,可以通过'\0'来结束字符串
1 char * longestCommonPrefix(char ** strs, int strsSize){ 2 if(strsSize == 0) 3 return ""; 4 for (int i = 0; i < strlen(strs[0]); i++) { 5 for(int j = 1; j < strsSize; j++) { 6 if(strs[0][i] != strs[j][i]) { 7 strs[0][i]='\0'; 8 return strs[0]; 9 } 10 } 11 } 12 return strs[0]; 13 }
【结果】