Leetcode 14 Solution
This article provides solution to leetcode question 14 (longest-common-prefix)
Access this page by simply typing in "lcs 14" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/longest-common-prefix
Thinking Process
This is a very straightforward question, just scan them will give us the answer.
Time & Space Complexity
Assuming M
is the number of strings, and N
is the average length of the string
- Time complexity:
O(M * N)
- Space complexity:
O(1)
This is the optimal solution to the problem, because you can’t solve the problem without even looking at the strings, and simply looking at the strings take O(M * N)
time.
Solution
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if (strs.size() == 0)
return "";
int pos = 0;
string cpre;
while (true)
{
bool matched = true;
char ch;
for (int i = 0; i < strs.size(); i++)
{
if (pos >= strs[i].length())
{
matched = false;
break;
}
if (i == 0)
{
ch = strs[i][pos];
}
else if (ch != strs[i][pos])
{
matched = false;
break;
}
}
if (matched == false)
break;
cpre += ch;
pos++;
}
return cpre;
}
};