题目描述:
题解:
思路比较简单。
一、水平扫描
string longestCommonPrefix(vector<string>& strs) {
string rst{};
if (strs.empty())return rst;
for (int i = 0; i < strs[0].size(); i++) {
char c = strs[0][i];
for (int j = 0; j < strs.size(); j++) {
if (i == strs[j].size() || strs[j][i] != c)
return strs[0].substr(0, i);
}
}
return strs[0];
}
复杂度分析:遍历整个strs,时间复杂度O(n),n为总体字符个数;常数级别的额外空间,空间复杂度O(1)。