要注意strs为空的情况
思路
每次都是从第一个单词中取字符,与后边单词的对应位置比对,若都可比对成功,则把这个字符加入到结果中。,否则返回上一次的结果。程序中用last来存储上一个字符的比对结果,res为当前字符的比对结果。最后比对完成后,再把res赋值给last(走到这一步说明第一个单词的所有字符都比对成功了。)
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string res;
string last;
int len=strs.size();
if(len==0){
return res;
}
int minn=strs[0].length();
for(int i=0;i<minn;i++){
for(int j=0;j<len;j++){
if(j==0){
last=res;
res+=strs[j][i];
}
else{
int temp=res.length();
if(res[temp-1]!=strs[j][i]){
return last;
}
}
}
}
last=res;
return last;
}
};