Longest Common Prefix
题目
Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string ""
.
Example 1:
Input: ["flower","flow","flight"]
Output: "fl"
Example 2:
Input: ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.
Note:
All given inputs are in lowercase letters a-z
.
分析
注意字符串的长度要先找出,不然会有越界的情况发生,如“cc”和“c",还有就是空串的情况。
源码
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size() == 0) {
return "";
}
if(strs.size() == 1) {
return strs[0];
}
int min = 10000;
for(int i = 0; i < strs.size(); i++) {
if(strs[i].size() < min) {
min = strs[i].size();
}
}
int index = min;
for(int i =0; i < min; i++) {
int tag = 0;
for(int j = 1; j < strs.size(); j++) {
if(strs[0][i] != strs[j][i]) {
index = i;
tag = 1;
break;
}
}
if(tag == 1) {
break;
}
}
//cout << index << endl;
if(index == 0) {
string e = "";
return e;
}
string result = strs[0].substr(0, index);
return result;
}
};
## [更多技术博客](https://vilin.club/):https://vilin.club/