编写一个函数来查找字符串数组中的最长前缀匹配。
如果不存在公共前缀,返回空字符串""。
示例1:
输入:strs=["flower","flow","flight"]
输出:"fl"
解答:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string ans="";
for(int i=0;strs[0][i];i++){
for(int j=0;j<strs.size()-1;j++){
if(strs[j][i]!=strs[j+1][i]){
return ans;
}
}
ans.push_back(strs[0][i]);
}
return ans;
}
};
代码分析:
这里相当于引用了二维数组,其中i表示列,j表示行,如果strs[j][i]==strs[j+1][i]的话,则利用push_back函数将元素插入到向量后边,若不等,则返回最前场追匹配ans。
函数学习:
push_back函数,这里的用法类似于Python中的append操作,只不过这里的函数作用为在vector尾部加入一个数据。在使用之前,需要调用头文件<vector>方能使用。