0%

14. Longest Common Prefix

14. Longest Common Prefix

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class Solution
{
public:
string longestCommonPrefix(vector<string> &strs)
{
if (strs.empty())
{
return "";
}
int minSize = strs[0].size();
int minSizeStrIndex = 0;
for (std::size_t i = 0; i < strs.size(); ++i)
{
if (strs[i].size() < minSize)
{
minSize = strs[i].size();
minSizeStrIndex = i;
}
}
string chs = "";
int bias = 0;
for (const auto &ch : strs[minSizeStrIndex])
{
for (std::size_t i = 0;i < strs.size();++i)
{
if (i == minSizeStrIndex)
continue;
if (ch != strs[i][bias])
return chs;
}
chs += ch;
++bias;
}
return chs;
}
};