Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
这是一次性通过的简单问题了。
要点:
1 用第一个string初始化,并初始化当前maxPre为该串长度
2 从第二个string开始比较,并记录当前maxPre的最大长度
3 循环所有vector里面的string
class Solution {
public:
string longestCommonPrefix(vector<string> &strs)
{
if (strs.empty())
{
return string();
}
int maxPre = strs[0].length();
for (int i = 1; i < strs.size(); i++)
{
countPrefix(strs[0], maxPre, strs[i]);
}
return strs[0].substr(0, maxPre);
}
void countPrefix(string &initStr, int &maxPre, string &str)
{
int i = 0;
for (; i < maxPre; i++)
{
if (i >= str.length() || initStr[i] != str[i])
{
break;
}
}
maxPre = i;
}
};
本文介绍了一种寻找字符串数组中最长公共前缀的算法实现。通过对比每个字符串,逐步缩小公共前缀的范围,最终确定最长公共前缀。文章提供了一个简洁高效的C++代码示例。
241

被折叠的 条评论
为什么被折叠?



