Description
Write a function to find the longest common prefix string amongst an array of strings.
Analysis
题目难度为:Easy
最长公共前缀问题,这题的思路很简单,取第一个字符串的字符,以此向后比较,当发现不相等的时候,之前相等的字符串即为公共前缀。
Code(c++)
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if (strs.empty()) return "";
if (strs.size() == 1) return strs[0];
int n = 0;
char cmp;
bool flag = true;
while (flag) {
if (strs[0] == "") return "";
cmp = strs[0][n];
for (int i = 1; i < strs.size(); ++i) {
if (strs[i] == "") return "";
if (n >= strs[i].size() || cmp != strs[i][n]) {
flag = false;
break;
}
}
++n;
}
return strs[0].substr(0, n-1);
}
};