您的位置:首页 > 其它

Leetcode:14. Longest Common Prefix

2017-11-21 17:25 393 查看
问题描述:

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

思路分析:

对于找到公共最长前缀子串,最简单的方法就是以第一个串为基准,以第一个串的每个字符作为一个匹配量,依次跟后面每一个串的对应位置的字符串相比较。在匹配成功时将此字符与存入一个新的数组中,最终函数返回这个前缀字符串,即题目要求的最长公共前缀子串。

核心代码如下:

class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string result;
char temp;
for(int i=0;i<strs[0].size();result+=strs[0][i],i++)   //以第一个字符串每个字符为标准
{
temp=strs[0][i];                                  //作标识
for(int j=0;j<strs.size();j++)                     //对每个进行匹配
{
if(i>=strs[j].size()) return result;               //标准串中的长度比匹配串中的长
if(j>0&&strs[j][i]!=temp)                          //在存在至少一个串的情况下,不相等就返回

//if(strs[j][i]==strs[j+1][i]) continue;      //相邻的相等,继续循环
//else return result;                     //相邻的不等,匹配结束
return result;
}
}
return result;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: