指定第一个字符串为结果字符串,用来与其他字符串作比较,一边遍历剩下的字符串一边截断结果字符串。
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if (strs.empty()) return ""; //判空
string res = strs[0]; //指定第一个字符串作为结果字符串
for (int i = 1; i < strs.size(); ++ i) //遍历剩下的字符串
{
int j = 0;
for (; j < res.length() && j < strs[i].length(); ++ j)
if (res[j] != strs[i][j]) break; //与结果字符串逐一比对,当前字符不匹配则退出循环
res = res.substr(0, j); //将结果字符串截断为匹配的长度
if (res == "") return res;
}
return res;
}
};