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 }

【结果】

 

posted @ 2020-04-15 00:50  剑寒江雪明  阅读(708)  评论(0)    收藏  举报