LeetCode 14. 最长公共前缀

14. 最长公共前缀

难度简单

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"

示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

说明:

所有输入只包含小写字母 a-z 。

 思路:利用循环,判断每个字符串的前缀,如果有不同的,终止循环,则循环次数则为公共前缀的长度。

 1 char * longestCommonPrefix(char ** strs, int strsSize){
 2     if(strsSize==0){
 3         return "";
 4     }
 5     if(strsSize==1){
 6         return strs[0];
 7     }
 8     int i,j=0;
 9     char* s;
10     for(i=0;i<strsSize&&strs[i][j]!='';i++){
11         if(strs[i][j]!=strs[i+1][j]){
12             break;
13         }
14         if(i==strsSize-2){
15             i=-1;
16             j++;
17         }
18     }
19     s=(char*)malloc((1+j)*sizeof(char));
20     for(i=0;i<j;i++){
21         s[i]=strs[0][i];
22     }
23     s[i]='';
24     return s;
25 }
原文地址:https://www.cnblogs.com/woju/p/12692497.html