力扣 --- 最长公共前缀

题目描述:

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

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

示例 1:

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

示例 2:

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

思路描述:

对于这道题,我们可以从前往后遍历,每次遍历都是用当前字符串和该字符串之前的所有字符串的最长公共前缀进行比较,然后更新当前的最长公共前缀,再找下一个位置,直到遍历完。

代码:

java 复制代码
class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length==1){
            return strs[0];
        }
        int len=strs.length;
        String result=strs[0];
        for(int i=1;i<len;i++){
            if(result==""){
                return "";
            }
            String newResult="";
            int count=0;
            while(count<result.length() && count<strs[i].length() && result.charAt(count)==strs[i].charAt(count)){
                count++;
            }
            result=result.substring(0,count);
        }
        return result;
    }
}

提交结果:

相关推荐
better_liang18 小时前
每日Java面试场景题知识点之-DDD领域驱动设计
java·ddd·实体·领域驱动设计·架构设计·聚合根·企业级开发
li.wz18 小时前
Spring Bean 生命周期解析
java·后端·spring
mwq3012318 小时前
不再混淆:导数 (Derivative) 与微分 (Differential) 的本质对决
前端
czlczl2002092519 小时前
深入解析 ThreadLocal:架构演进、内存泄漏与数据一致性分析
java·jvm·架构
小二·19 小时前
Vue 3 组件通信全方案详解:Props/Emit、provide/inject、事件总线替代与组合式函数封装
前端·javascript·vue.js
盖世英雄酱5813619 小时前
不是所有的this调用会导致事务失效
java·后端
研☆香19 小时前
html框架页面介绍及制作
前端·html
smj2302_7968265219 小时前
解决leetcode第3801题合并有序列表的最小成本
数据结构·python·算法·leetcode
少许极端19 小时前
Redis入门指南(五):从零到分布式缓存-其他类型及Java客户端操作redis
java·redis·分布式·缓存
be or not to be20 小时前
CSS 定位机制与图标字体
前端·css