题目:
Write a function to find the longest common prefix string amongst an array of strings
思路:本题是找到字符串的最长公共前缀。把第一个字符串给pre.
比较pre与下一个字符串的字符。如此得出这2个字符串的最长公共前缀,赋给str,再拿str作为新的字符串和数组中的下一个字符串比较
代码:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
// string prefix=strs[0];
//判空
if(strs.size()==0)
{
return "";
}
string prefix=strs[0];
for(int i=1;i<strs.size();i++)
{
if(strs[i].length()==0||prefix.length()==0)
return "";
int len=prefix.length()<strs[i].length()? prefix.length():strs[i].length();
int j=0;
for(;j<len;j++)
{
if( prefix[j]!=strs[i][j])
break ;
}
prefix=prefix.substr(0,j);
}
return prefix;
}
};