编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
---
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
---
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
//cpp
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size()==0)
return ""; ////输出的情况要考虑清楚4,[]
string res = "";
char temp;
int j = 0, i = 1;
for (j = 0; j<strs[0].length(); j++)
{
temp = strs[0][j];
for (i = 1; i<strs.size(); i++)
{
if (strs[i][j] == '\0') return res; //输出的情况要考虑清楚1,["abc","ab"]
else if (strs[i][j] == temp) continue;
else break; //退出的情况考虑清楚
}
if (i == strs.size()) res += temp;
else if(i != strs.size()) return res; //输出的情况要考虑清楚2,["abc","ad"]
}
return res; //输出的情况要考虑清楚3,如[""]
}
};
网友评论