每日一题:今天刷LeetCode第14题,找出最大的公共前缀,失败则返回空。
分析:
输入的是一个容器,为了减少计算,设置的判断条件越多,时间越少,可能存在输入为空,输入只有一个字符串,最后判断的时候就是用第一个的每一位对后面每一个字符串进行比较,如果相等就添加到输出字符串中,否则就返回空。
问题:
1、要考虑到很多特殊情况,进行判断
2、要熟悉容器的使用方法
附上代码:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size()==0)
return "";
else if(strs.size()==1)
return strs[0];
else
{
string ret="";
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 ret;
}
ret+=strs[0][i];
}
return ret;
}
}
};