Longest Common Prefix in C

题目要求

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

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

示例 1:

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

示例 2:

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

说明:

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

 

解题思路:第一次想的时候,是想把数组里的单词,拆分成一个个字母,接着每个字母,循环的去比较,结果发现出错了,而且也写不出来, 后来看了题解,只有Java的题解

 1 char* longestCommonPrefix(char** strs, int strSize){
 2     char *str = strs[0];
 3     int i,j;
 4     if(strSize == 0) return " ";
 5     for(i = 1; i<strSize;i++){
 6         j = 0;
 7         while(str[j]&&strs[i][j]&&str[j]==strs[i][j])j++;
 8         str[j] ='\0';
 9     }
10     return str;
11 }

 

posted @ 2018-06-11 15:18  WuCola  阅读(89)  评论(0编辑  收藏  举报