C语言版 Longest Common Prefix leetcode提交正确

来源:互联网 发布:苹果机下载不了软件 编辑:程序博客网 时间:2024/05/29 10:31

题目:Write a function to find the longest common prefix string amongst an array of strings.

思路:本题就是找到字符串中最长的公共前缀。

          把第一个字符串给prefix,与之后的字符串比较。得到新的prefix,再比较;

解题代码:

char* longestCommonPrefix(char** strs, int strsSize) {

    //判空
if(strsSize==0)
{
    return "";
}
if(strsSize==1)
return *strs;
 // char* pre=NULL;
  //char* prefix=pre;
 //strcpy(prefix,*strs);
 //char* pre=(char*)malloc(sizeof(char)*1000);
 //char* prefix=pre;
  static char prefix[1000];
  char* pre=prefix;
  strcpy(prefix,strs[0]);
  int i=1;
  for(i=1;i<strsSize;i++)
  {    pre=prefix;
      char *a=strs[i];
      int len=strlen(pre)<=strlen(a)?strlen(pre):strlen(a);
      if(strlen(pre)==0||strlen(a)==0)
      return "";
      int j=0;
      while(*pre==*a&&(len--)!=0)
      {
         pre++;
         a++;
      }
      *pre='\0';
  }
  return prefix;
}

0 0
原创粉丝点击