Longest Common Prefix - LeetCode
题目链接
Longest Common Prefix - LeetCode
注意点
- 考虑输入的字符串没有和只有一个的情况。
解法
解法一:先比较两个字符串得到他们的最长相同前缀,这就是答案就会是其他字符串和这个最长相同前缀的最长相同前缀。时间复杂度为O(nm)
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size() == 0)
{
return "";
}
if(strs.size() == 1)
{
return strs[0];
}
string prefix="";
int i,j,n = strs.size();
for(i = 0;i < strs[0].length() && i < strs[1].length();i++)
{
if(strs[0][i] == strs[1][i])
{
prefix += strs[0][i];
}
else
{
break;
}
}
for(i = 2;i < n;i++)
{
for(j = 0;j < prefix.length() && j < strs[i].length();j++)
{
if(prefix[j] != strs[i][j])
{
break;
}
}
prefix = prefix.substr(0,j);
}
return prefix;
}
};
小结
- 不知道排名在前面的那些大神是怎么做到的...