宁阳网站设计,eclipse网站建设,太原网站优化教程,珠海网站建设方案报价2、最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀#xff0c;返回空字符串 “”。
示例1
输入: [flower,flow,flight]
输出: fl示例2
输入: [dog,racecar,…2、最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀返回空字符串 “”。
示例1
输入: [flower,flow,flight]
输出: fl示例2
输入: [dog,racecar,car]
输出:
解释: 输入不存在公共前缀。说明
所有输入只包含小写字母 a-z 。
Solution
class Solution {
public:string longestCommonPrefix(vectorstring strs) {string str;int i0;int over0;if(strs.size()0)return str;if(strs.size()1)return strs[0];while(1){for(int j1;jstrs.size();j){if(istrs[j].size()){over1;break;}if(strs[j][i]strs[0][i]){if(jstrs.size()-1){strstrs[0][i];i;}elsecontinue;}else{over1;break;}}if(over)return str;}}
};解题思路
针对输入的字符串组存在的特殊情况进行特殊处理如果没有字符串则直接返回空如果只有一个字符串则直接将该字符串返回即可。
其余情况设两个变量分别代表横向和纵向以第一个字符串做参考检查其余字符串有以下情况时可结束检查并返回。1、横向变量的值超过某一字符串的最长长度2、纵向比较时发现不相等的情况如果字符比较相等且到达最后一个字符串则更新返回字符串继续进行比较。
大神的做法 vector用法