您的位置:首页 > 其它

(LeetCode每日一刷05)最长公共前缀

2018-11-13 17:50 489 查看

题目描述:

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 

""

 

示例:

示例 1:

[code]输入: ["flower","flow","flight"]
输出: "fl"

示例 2:

[code]输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

说明:

所有输入只包含小写字母 

a-z
 。

 

我提交的代码:

[code]class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
int vec_size = strs.size();
if(vec_size == 0)
{
return "";
}
string result = "";
int i,j;
int length = strs[0].size();
char pre;

if(length == 0)
{
return result;
}

char current;
for (i = 0; i < length; ++i)
{
pre = strs[0][i];
for (j = 0; j < vec_size; ++j)
{
if(strs[j].size() < i + 1)
{
return result;
}
current = strs[j][i];
if(pre != current)
{

return result;
}

}
result = result + current;
}
return result;

}
};

 

执行用时: 20 ms, 在Longest Common Prefix的C++提交中击败了9.59% 的用户

 

感想:快无语了。本想刷完所有简单题在回过来深入学习,还是决定刷完10题就每题深入学习吧!

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: