力扣C++ 最长公共前缀-比较每一列来获取最长公共前缀

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

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

示例 1:

复制代码
输入:strs = ["flower","flow","flight"]
输出:"fl"

示例 2:

复制代码
输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。

提示:

  • 1 <= strs.length <= 200
  • 0 <= strs[i].length <= 200
  • strs[i] 仅由小写英文字母组成
cpp 复制代码
class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.empty()) return "";

        int minL = strs[0].size(); // 第一个字符串长度
        for(int i = 0; i < minL; i++){
            char c = strs[0][i];
            for(int j= 1 ; j < strs.size();j++){
                if(strs[j][i] != c || i >= strs[j].size()){
                   return strs[0].substr(0,i);
                }
            }
        }
        return strs[0];
    }
};
相关推荐
垆边人似月.9 小时前
华为机考题:二叉树的最大路径和
c语言·c++
2601_9622186110 小时前
深入理解C++中的thread_local线程局部变量的应用
开发语言·c++
无名猿10 小时前
C++ lambda 捕获列表详解:值捕获、引用捕获、初始化捕获与悬垂引用
c++·现代c++·语法基础·踩坑记录
sunoo-22910 小时前
【嵌入式 ARM 学习第十二天】SPI 裸机驱动 + I2C 触摸屏驱动 + 三大串行协议深度对比
arm开发·笔记·vscode·学习·imx6ull
tangguofeng10 小时前
基于分治策略的循环赛日程表问题的思路讲解
算法
起个名字费劲死了11 小时前
VisionMaster集成深度学习算法(基础狗)
人工智能·深度学习·算法
lengxuenong11 小时前
枚举例题分析
c++·算法·青少年编程
繁华的地方不一定留下你的脚印11 小时前
C++线程如何安全停止与唤醒:std::jthread、stop_token与condition_variable
开发语言·c++
Navigator_Z11 小时前
LeetCode //C - 1269. Number of Ways to Stay in the Same Place After Some Steps
c语言·算法·leetcode
2601_9657422211 小时前
短视频脚本创作方法分享:本地生活类账号的起步思路
大数据·人工智能·算法·ai·新媒体运营·生活