leetcode 14. 最长公共前缀(C++)

野性酷女 2023-07-14 05:44 71阅读 0赞

python版——>leetcode 14:最长公共前缀(python)

题目

编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。

示例 1:

  1. 输入: ["flower","flow","flight"]
  2. 输出: "fl"

示例 2:

  1. 输入: ["dog","racecar","car"]
  2. 输出: ""
  3. 解释: 输入不存在公共前缀。

说明:
所有输入只包含小写字母 a-z 。

来源:14. 最长公共前缀 - 力扣(LeetCode)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

逐一比对法

  • 取最短字符串长度,从头开始逐一比对

代码如下:

  1. class Solution {
  2. public:
  3. string longestCommonPrefix(vector<string>& strs) {
  4. int len = strs.size();
  5. if(len < 2)
  6. return len ? strs[0] : "";
  7. int i = -1;
  8. bool flag = true;
  9. while(flag)
  10. {
  11. char cc = strs[0][++i];
  12. if(cc == '\0') return strs[0].substr(0,i);
  13. for(int j = 1;j < len;j++)
  14. if(strs[j][i] != cc)
  15. return strs[0].substr(0,i);
  16. }
  17. return "";
  18. }
  19. };

结果:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,71人围观)

还没有评论,来说两句吧...

相关阅读