最长公共前缀
题目描述
题目分析
我默认用第一个当最短的,然后和后面的依次比较,遇到不同的就直接截断,开始下一个比较
有个比较坑的地方就是测试测试代码有空的测试数据,所以直接取第一个数据会报错,开始比较一下就可以了
此外题解还有用分治,二分等,都是在比较顺序上面的修改,并没有改进时间复杂度,故就不写了
题解代码
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string ans ;
if(strs.size() == 0)
ans = "";
else
ans = strs[0];
for(int i = 1;i < strs.size();i++)
{
string compare = strs[i];
for(int j = 0;j < ans.length();j++)
{
if(compare[j] != ans[j])
{
ans = ans.substr(0,j);
break;
}
}
}
return ans;
}
};
```