怎样宣传一个网站,有什么做旅游攻略的网站好,门户网站的主要特点,社区推广普通话题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀#xff0c;返回空字符串 。 示例 1: 输入: [flower,flow,flight] 输出: fl 示例 2: 输入: [dog,racecar…题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀返回空字符串 。 示例 1: 输入: [flower,flow,flight] 输出: fl 示例 2: 输入: [dog,racecar,car] 输出: 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。 解决思路 首先考虑vector为空直接返回。 然后拿第一个字符串的每个字符依次与后面字符串的相应字符进行比较相等则继续比较下一个不等的话使用string.substr截取第一个字符串的当前位置字符串。 最后就是当vector不为空而且当第一个字符串的所有字符都顺利比较完了完全相等的情况下直接返回第一个字符串strs[0]即可。 C代码 class Solution {
public:string longestCommonPrefix(vectorstring strs) {//异常情况strs为空if(strs.empty())return ;//第一个string每个字母单独与后面的string相应字母比较for(int letterOfFirst0;letterOfFirststrs[0].size();letterOfFirst){for(int otherStr1;otherStrstrs.size();otherStr){//若某个字符开始不相等//使用substr进行截取if(strs[0][letterOfFirst]!strs[otherStr][letterOfFirst])return strs[0].substr(0,letterOfFirst);}}//一直都没有找到不同的字母return strs[0];}
}; 执行结果 转载于:https://www.cnblogs.com/BoqianLiu/p/10194358.html