这个题目也没什么好说的,就是按位依次匹配,第一位全相等,就加入结果,直到第n位不相等的时候跳出循环。
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size()==0) return "";
if(strs.size()==1) return strs[0];
for(int i=0;i<strs.size();i++){
if(strs[i].size()==0) return "";
}
string res="";
bool loop=true;
int j=0;
while(loop&&j<strs[0].size()){
for(int i=0;i<strs.size();i++){
if(strs[i][j]!=strs[0][j]) loop=false;
}
if(loop)res=res+strs[0][j];
j++;
}
return res;
}
};
顺便说一句,leetcode得分机制真的玄学,同样的代码第一次得了20%,之后提交还能刷到100%