C++ 之LeetCode刷题记录(四)

😄😊😆😃😄😊😆😃

开始cpp刷题之旅,多学多练,尽力而为。

先易后难,先刷简单的。

14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例 1:

输入:strs = "flower","flow","flight"

输出:"fl"

示例 2:

输入:strs = "dog","racecar","car"

输出:""

解释:输入不存在公共前缀。

方法:单字符匹配

个人感觉这种比较好理解。

以第一个字符串作为标准。

遍历第一个字符串,从头到尾取出每一个字符,将该字符与剩下的所有字符串中的该位置字符进行比较判断。

当某个字符出现不同时或者该字符索引大于某个字符串长度时,结束遍历。

cpp 复制代码
class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        string temp= strs[0];
        for(int i=0;i<temp.length();i++){
            for(int j=1; j<strs.size();j++){
                if(i>strs[j].length()||temp[i]!= strs[j][i]){
                    return temp.substr(0,i);
                };
            };
        };
        return temp;
    }
};

提交记录如下:

OK,到此结束,工作再忙,但也要坚持每天一题。

相关推荐
蘑菇小白11 分钟前
Linux多线程开发
linux·开发语言·线程
青少儿编程课堂18 分钟前
蓝桥杯青少组 + 全国青少年信息素养大赛 + 电子学会图形化考级|校园推箱子大挑战解析
c++·python·算法·bfs·信息学竞赛
ynchyong25 分钟前
培养程序化思维
leetcode·程序化思维·刷题经验
Ruiery33 分钟前
Linux 6.6内核内存管理深度解析(十):KSM 同页合并 — 内容去重,把 N 份相同内存合并成 1 份
linux·运维·服务器
Huangjin007_1 小时前
【Linux 系统篇(三十三)】通信(三):System V 共享内存详解
linux·运维·服务器
叼烟扛炮1 小时前
Linux 学习笔记(三十八):从实模式到分页——处理器内存管理的发展史
linux·运维·服务器
多弗朗皮卡丘1 小时前
C++STL之空间配置器
开发语言·c++·内存池·空间配置器
牵猫散步的鱼儿1 小时前
Demosaic 和 Remosaic
c++
CodeYp20191 小时前
第19讲:封装红黑树实现 mymap 和 myset
开发语言·c++·红黑树
叼烟扛炮1 小时前
Linux 学习笔记(三十六):并发进阶——读写锁 vs 自旋锁,到底怎么选?
linux·运维·服务器·笔记·学习