怎么做网站推广的步骤,品牌建设是什么,做网站虚拟主机推荐,如何申请ip地址和域名牛客题霸 [ 最长公共前缀] C题解/答案
题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
题解#xff1a;
原本想暴力做#xff0c;直接多层循环套#xff0c;发现并不用 注意本题#xff0c;给出了多组字符串#xff0c;求它们的最长公共前缀#xff0c;这…牛客题霸 [ 最长公共前缀] C题解/答案
题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
题解
原本想暴力做直接多层循环套发现并不用 注意本题给出了多组字符串求它们的最长公共前缀这可怎么办 因为是最长公共前缀也就是所有字符串都有 我们先将所有字符串排序越近的字符串最长公共前缀越多反而越远就越少 所以我们可以直接将排序后的第一个字符串和最后一个字符串对比 因为这两个的公共前缀应该是最少的如果一个字符串s是他俩的公共前缀那相比也是其他的前缀了这样我们就可以只对比两组就实验对比所有组情况 总结下 就是将最不相同的两个对比找相同那找到的结果肯定也是满足所有组的
代码
class Solution {
public:/*** * param strs string字符串vector * return string字符串*/string longestCommonPrefix(vectorstring strs) {// write code hereif(strs.empty())return ;sort(strs.begin(),strs.end());string astrs[0];string bstrs[strs.size()-1];int i;for(i0;ia.size();i){if(a[i]!b[i])break;}//if(ia.size())return a;return a.substr(0,i);}
};