Write a function to find the longest common prefix string amongst an array of strings.
算法思想:逐个比对每个字符串的前缀字符,若出现不相等或者其中某个字符已经是最末尾的字符时,跳出循环。
C++实现如下:
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
bool flag=true;
int j=0;
string result="";
char temp;
if(strs.size()!=0){
while(flag){
if(strs[0].length()>j){
temp=strs[0][j];
}else{
flag=false;
}
for(int i=1;i<strs.size()&&flag;i++){
if(strs[i].length()>j){
if(temp==strs[i][j]){
flag=true;
}else{
flag=false;
}
}else{
flag=false;
}
}
if(flag){
result+=temp;
}
j++;
}
}
return result;
}
};
int main(){
vector<string> test;
test.push_back("absodsd");
test.push_back("absod");
Solution sol;
string res=sol.longestCommonPrefix(test);
cout<<res;
return 0;
}