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.
// Longest_Common_Prefix.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<stdio.h>
#include<vector>
#include<iostream>
#include<string>
using namespace std;
int main()
{
string longestCommonPrefix(vector<string>& strs);
vector<string> str;
str.push_back("hello");
str.push_back("hello1");
str.push_back("hello2");
cout<<longestCommonPrefix(str)<<endl;
return 0;
}
//鉴于数据安全的考虑,&作用就是引用
string longestCommonPrefix(vector<string>& strs) {
//判断向量是否为空
if (strs.empty())return "";
int i,j,flag=0;
//读取字符串的长度
for(i=0;i<strs[0].length();i++){
//读取向量的个数
for(j=1;j<strs.size();j++){
//j字符串的个数
if (i>=strs[j].length()||strs[j][i]!=strs[0][i]) {
return strs[0].substr(0, i);
}
}
}
return strs[0].substr(0,i);
}