您的位置:首页 > 编程语言 > C语言/C++

leetcode 14 Longest Common Prefix

2017-09-11 08:54 344 查看

leetcode 14 Longest Common Prefix

#include <string>
#include <vector>
#include <algorithm>
using namespace std;
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if (strs.empty())
return "";
int size = strs.size();
string prefix = strs[0];//strs中的每一个字符串都比最长前缀要长,或者等于最长前缀,假定最长前缀是第一个字符串,一一比较,不等于的字符就删掉
for (int i = 1; i < size; i++){
if (prefix.empty() || strs[i].empty())
return "";

int steplength = max(prefix.length(), strs[i].length());
int j = 0;
for (j; j < steplength; j++)
{
if (prefix[j] != strs[i][j])
break;
}
prefix = prefix.substr(0, j);//从第0位开始,长度为j的字符串
}
return prefix;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode c++