题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
思路:1.首先判断字符串数组是否为空,若为空,返回;
2.判断字符串数组中是否有空,若有返回;
3.将字符串数组中第一个字符串中的每个字符与剩下的字符串相应的位置的字符比较,如果都相同则加到result中,否则直接退出返回result。
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size() == 0)
return "";
for(int i = 0;i<strs.size();i++)
{
if(strs[i].size() == 0)
return "";
}
string result;
for(int i = 0;i< strs[0].size();i++)
{
for(int j = 0;j<strs.size();j++)
{
if(strs[0][i] != strs[j][i] )
return result;
}
result += strs[0][i];
}
return result;
}
};