LeetCode 14 最长公共前缀 - 纵向扫描

LeetCode 14 最长公共前缀,以第一个串为基准,逐位跟其他串比对。


🟢 最长公共前缀

找字符串数组的最长公共前缀。["flower","flow","flight"] → "fl"


以第一个字符串为模板,逐位扫描。当某一位上的字符不是所有串都有、或者某串的这一位跟它不一样,前缀就到此为止。

java 复制代码
public String longestCommonPrefix(String[] strs) {
    for (int col = 0; col < strs[0].length(); col++) {
        char c = strs[0].charAt(col);
        for (int row = 1; row < strs.length; row++) {
            if (col >= strs[row].length() || strs[row].charAt(col) != c)
                return strs[0].substring(0, col);  // 前缀到此为止
        }
    }
    return strs[0];  // 第一个串全匹配
}

注意先判断 col >= strs[row].length() 再取 charAt------如果有一个字符串已经到头了,直接返回当前前缀。先判越界再判不等,顺序反了会抛异常。

这题没算法难度,但考察基本的字符串操作习惯。用 substring 返回结果比用 StringBuilder 拼接简洁。


这题有人用 A 有人用 B,你习惯哪种写法?评论区贴一下你的解法,以后复盘直接看自己的版本。

相关推荐
砚凝霜11 小时前
【软考信息安全】第二十二章 Web服务器安全分析与增强——Apache与IIS
服务器·前端·安全
Android系统攻城狮11 小时前
Linux Gstreamer深度解析之gst_audio_ring_buffer_delay调用流程与实战(七十二)
linux·运维·服务器·gstreamer音视频·音视频进阶
快乐的韭菜根根12 小时前
ubuntu 安装slurm并配置
linux·运维·ubuntu
数字新视界12 小时前
机房动环监控提升运维效率
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
Navigator_Z12 小时前
LeetCode //C - 1289. Minimum Falling Path Sum II
c语言·算法·leetcode
U-Mail邮件系统12 小时前
自建邮箱服务器有哪些软件?三款主流邮件服务器软件推荐
运维·服务器
mmmmath_313 小时前
LeetCode.104.二叉树的最大深度
数据结构·leetcode
倒头就睡的小比特13 小时前
Linux基础指令3
linux·服务器
Smoothcloud润云14 小时前
PyTorch推理服务模型热切换与失败回滚实战:降低版本更新中断
服务器·人工智能·pytorch·python·深度学习·gpu
梦帮科技14 小时前
Kali Linux Scapy 畸形报文构造学——深度解剖非法 TCP Flags 与反常序列号
linux·爬虫·神经网络·算法·数学建模·系统架构·模拟退火算法