Come from : [https://leetcode-cn.com/problems/longest-common-prefix/]
14. Longest Common Prefix
1.Question
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.
2.Answer
easy 类型题目。.
我用的最暴力的 水平扫描法。即: 将每个单词的第一个字母拿出来比较,若一样则拿第二个单词比较,直到不相同或者结尾返回。
AC代码如下:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string res;
if(strs.size() < 1)
{
return res;
}
int loop = strs[0].size();
for(int i = 1; i < strs.size(); ++i)
{
if(loop > strs[i].size())
{
loop = strs[i].size();
}
}
int count = 0;
char tmpStr;
for(int i = 0; i < loop; ++i)
{
for(int j = 0; j < strs.size(); ++j)
{
tmpStr = strs[0][i];
if(strs[j][i] == tmpStr)
{
++count;
}
}
if(count == strs.size())
{
res = res + tmpStr;
count = 0;
}
else
{
break;
}
}
return res;
}
};
3.我的收获
简单的字符串问题。
2019/6/4 胡云层 于南京 93