编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
思路
先判断出长度最小的字符串,然后按该字符串的第一位去比较其他字符串的第一位,如果相等,比较下一位,以此类推
class Solution {
public String longestCommonPrefix(String[] strs) {
int t=0;
if(strs.length==0){
return "";
}
if(strs.length==1){
return strs[0];
}
int temp=strs[0].length();
for(int i=1;istrs[i].length()){
temp=strs[i].length();
}
}
for(int i=0;i
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs==null||strs.length==0){
return "";
}
String pre=strs[0];
int i=1;
while(i
char* longestCommonPrefix(char** strs, int strsSize) {
int len = 0,i,j;
if(strsSize == 0)
{
return "";
}
if(strsSize == 1)
{
return strs[0];
}
len = strlen(strs[0]);
for(i = 0;i < strsSize; i++)
{
if(strlen(strs[i]) < len)
{
len = strlen(strs[i]);
}
}
char *result= (char*)calloc(len,sizeof(char*));
for(j = 0 ;j < len ; j++)
{
for( i = 0 ;i < strsSize ; i++ )
{
if(strs[0][j] != strs[i][j])
{
return strncpy(result,strs[0],j);
}
}
}
if(j==0&&i==0)
{return "";}
else
{return strncpy(result,strs[0],len);}
}