思路:
这道题有很多种做法,这里是最普通的做法,就是循环遍历每一位即可。值得注意的是,到底什么时候跳出循环呢?看代码。
代码:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size()==0) return "";
int a = strs[0].size();
for(int i=0;i<a;++i){
for(int j=1;j<strs.size();++j){
//这里为什么是i==strs[j].size()呢?
//那是因为只有当所有字符串的某一位比较完之后才知道答案。
//如果是size()-1,哪怕你把这行代码放在下一个if语句后面,都是错的,好好琢磨琢磨。
if(i==strs[j].size()) return strs[j];
if(strs[j][i]!=strs[0][i]) return strs[0].substr(0,i);
}
}
return strs[0];
}
};