您的位置:首页 > 编程语言 > Go语言

[LeetCode] Longest Common Prefix 解题报告

2017-02-21 15:27 471 查看
[题目]

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

[中文翻译]

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

[解题思路]

枚举最长公共子串的长度。对于当前枚举到的位置,判断字符串数组当前位的字符是否都相同,如果不是都相同,则已获得了最长公共子串的长度,否则,继续枚举。

[C++代码]

class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
int minLen;
string res = "";

if (strs.size() > 0) {
minLen = strs.at(0).size();
}
else
minLen = 0;

for (int i = 1; i < strs.size(); i++)
if (minLen > strs.at(i).size())
minLen = strs.at(i).size();

for (int i = 0; i < minLen; i++) {
bool flag = true;
char ch = strs.at(0).at(i);

for (int j = 1; j < strs.size(); j++)
if (strs.at(j).at(i) != ch) {
flag = false;
break;
}

if (flag)
res += ch;
else
break;
}

return res;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode algorithm