力扣-字符串的最长公共前缀

1 采用纵向比较的方法,即以这个字符串数组的第一个字符串作为参照对象,纵向就是同时比较每个字符串的同样位置上的元素是否相同,所以外部循环负责控制走到哪个位置了,内部循环就把后面要比较的每个字符串的当前位置上的元素拿出来比较。

循环结束也就是不比了结束了的条件是,要么找到了LCP,也就是到了一个有元素大家有不同的位置上,那就返回这个位置之前的所有字符;要么就是找完了,走到要比较的字符串末尾了。如果是第一个被参照的字符串先走到末尾,那这个字符串本身就是LCP呀。

2 考虑的几个特殊情况:字符串数组为空,即不存在最长公共前缀(LCP),返回“”;

字符串数组只有一个字符串,LCP就是其本身哦!因为这个函数有返回类型,所以别忘了这个情况;

每个字符串都不没有相同的,无LCP,返回“”,但是如果返回substr(0,0),其实就是“”。

3 substr(a,b)取字符串中下标范围[a,b)(跟python很像)

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.size()==0){
            return "";
        }
        string res;
        for(int i=0;i<strs[0].size();i++){
            char c=strs[0][i];
            for(int j=1;j<strs.size();j++){
                if(c!=strs[j][i]||i==strs[j].size()){
                    res=strs[0].substr(0,i);
                    return res;
                }
            }
        }
        return strs[0];
    }
};

相关推荐

  1. -字符串公共前缀

    2024-03-23 15:32:03       19 阅读
  2. 14. 公共前缀

    2024-03-23 15:32:03       33 阅读
  3. 2781.合法子字符串长度

    2024-03-23 15:32:03       10 阅读
  4. 由浅至深 每日一题.04 公共前缀

    2024-03-23 15:32:03       24 阅读
  5. 经典150题第二十题:公共前缀

    2024-03-23 15:32:03       11 阅读
  6. 公共前缀

    2024-03-23 15:32:03       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-23 15:32:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-23 15:32:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-23 15:32:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-23 15:32:03       18 阅读

热门阅读

  1. 力扣由浅至深 每日一题.11 加一

    2024-03-23 15:32:03       18 阅读
  2. 前端面试题整理

    2024-03-23 15:32:03       17 阅读
  3. 解决Linux报错JCE cannot authenticate the provider BC

    2024-03-23 15:32:03       16 阅读
  4. luogu P1352 没有上司的舞会 详解

    2024-03-23 15:32:03       22 阅读
  5. [Vue3] - defineProps 接收从App.vue传来的东西

    2024-03-23 15:32:03       20 阅读
  6. vuex状态管理的使用

    2024-03-23 15:32:03       18 阅读
  7. css的box-shadow详解

    2024-03-23 15:32:03       15 阅读