编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
不妨先假设strs[0]为公共前缀,之后遍历1-strs.size()的字符串,判断是否含有lst,如果不含有lst,则将lst长度减1,再次判断lst-1是否为其子串(==0表示含有该字串),直到lst为空
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size()==0)return"";
string lst=strs[0];
for(int i=0;i<strs.size();i++)
{
while(strs[i].find(lst)!=0)
{
if(lst=="")return"";
lst=lst.substr(0,lst.length()-1);
}
}
return lst;
}
};