Plantre Plantre
首页
  • 算法

    • 查找
    • 排序
  • 力扣

    • 排序
技术
硬件
逆向
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

plantre

一个后端开发者
首页
  • 算法

    • 查找
    • 排序
  • 力扣

    • 排序
技术
硬件
逆向
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 计算机组成原理

  • 操作系统

  • 计算机网络

  • 设计模式

  • Java

  • Spring

  • SpringCloud

  • MySQL

  • Redis

  • 分布式

  • Zookeeper

  • Dubbo

  • Kafka

  • 数据结构

  • 算法

  • OJ

    • 自定义
    • 排序
    • 位运算
    • 二分查找
    • 递归
    • 双指针(逆向,快慢)
    • 滑动窗口
    • 辅助栈
    • 贪心
    • 回溯
    • 动态规划
    • 二叉树
    • DFS
    • 拼接&拆分
    • 模拟
    • 工业实现原理
    • 数学
    • 字符串
    • 从道家哲学看计算机?
    • 后端
    • OJ
    plantre
    2025-07-15
    目录

    字符串

    # 14. 最长公共前缀 - 力扣(LeetCode) (opens new window)

    纵向扫描(最优解)

    按列比较

    :

    • 以第一个字符串 strs[0] 为基准,从索引 0 开始逐列扫描。

    • 对于每一列位置

      i
      
      1

      ,比较所有字符串的第

      i
      
      1

      个字符是否相同:

      • 若相同,继续检查下一列;
      • 若不同或某个字符串已结束(即 i 超出其长度),则当前列之前的部分即为最长公共前缀。

    终止条件

    :

    • 出现字符不匹配,或某个字符串长度不足。
    class Solution {
        public String longestCommonPrefix(String[] strs) {
            // 空数组直接返回
            if (strs == null || strs.length == 0) return "";
            for (int i = 0; i < strs[0].length(); i++) {
                // 基准字符串的当前字符
                char c = strs[0].charAt(i);
                for (int j = 1; j < strs.length; j++) {
                    // 关键:检查长度不足或字符不匹配
                    if (i == strs[j].length() || strs[j].charAt(i) != c) {
                        // 返回已匹配的前缀
                        return strs[0].substring(0, i);
                    }
                }
            }
            // 全部字符匹配,返回整个基准字符串
            return strs[0];
        }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    编辑 (opens new window)
    上次更新: 2025/07/16, 10:21:39
    数学
    从道家哲学看计算机?

    ← 数学 从道家哲学看计算机?→

    最近更新
    01
    加油鸭
    07-30
    02
    要点总结
    07-28
    03
    数学
    07-09
    更多文章>
    Theme by Vdoing | Copyright © 2025-2025 plantre | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式