您的位置:首页 > 其它

Leetcode 14: Longest Common Prefix

2016-06-23 16:34 423 查看
这题的意思是要找一个字符串数组中所有字符串的公共前缀子串。

如一个字符串数组为:

{

“abcdefgh”,

“abcghj”,

“abcv”

}

那么这个字符串数组中,所有字符串的公共子串为”abc”。

这题的解题思路为:

用一个result字符串来表示当前的结果,首先将其赋值为第一个字符串的值,再将其与剩下的字符串一一比较并更新结果,最后得出所有字符串的公共前缀子串。具体实现如下

class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.empty())
{
return "";
}
string result=strs[0];
for(int i=1;i<strs.size();++i)
{
string tmp=result;
result="";
for(int j=0;j<min(tmp.size(),strs[i].size());++j)
{
if(tmp[j]==strs[i][j])
{
result+=tmp[j];
}
else
{
break;
}
}
if(result.empty())
{
return result;
}
}
return result;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: