一、题目
二、题目理解
纵向遍历法
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.empty()) return ""; // 判断空值,返回""
int m = strs.size(); //字符串中字串的个数
int n = strs[0].size(); // 字符串中,第一个子字符串的长度
for(int i = 0; i<n; i++){ // 遍历整个字符串 strs
char cc = strs[0][i]; // 遍历第一个子字符串 strs[0][i]
for(int j=1; j<m; j++){ // 从第二个子字符串开始(j=1,2,... m)遍历
// 当当前子字符串超出了第一个子字符串的长度
// 当子字符串的字母与第一个子字符串对应位置不等
// 返回当前第一个子字符串的长度
if(i==strs[j].size() || strs[j][i]!=cc){
return strs[0].substr(0,i);
}
}
}
return strs[0]; // 返回第一个切割之后的子字符串;
}
};