Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string ""
.
Example 1:
Input: strs = ["flower","flow","flight"]
Output: "fl"
Example 2:
Input: strs = ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.
Constraints:
0 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i]
consists of only lower-case English letters.
Solutions
🧠 Cpp
class Solution
{
public:
string longestCommonPrefix(vector<string>& strs)
{
if(strs.empty())
return "";
string res = "";
bool keep_going = true;
size_t first_str_size = strs[0].size();
for(size_t i = 0; keep_going && i < first_str_size; i++)
{
char ch = strs[0][i];
for(auto &str : strs)
if(str.size() <= i || str[i] != ch)
keep_going = false;
if(keep_going)
res+=ch;
}
return res;
}
};
Last updated
Was this helpful?