当前位置: 首页 > article >正文

算法-求字符串公共前缀

力扣题目:14. 最长公共前缀 - 力扣(LeetCode)

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

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

示例 1:

输入:strs = ["flower","flow","flight"]
输出:"fl"

示例 2:

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

提示:

  • 1 <= strs.length <= 200
  • 0 <= strs[i].length <= 200
  • strs[i] 如果非空,则仅由小写英文字母组成

Java实现





public class Solution {
    //1.比较当前字符串和前一个字符串的公共字符
    public  int gongSum(String s1,String s2)
    {
        int L1=s1.length();
        int L2=s2.length();
        int sum=0;
        for(int i=0;i<L1&&i<L2;i++)
        {
            if(s1.charAt(i)==s2.charAt(i))
            {
                sum++;
            }else{
                break;
            }
        }
//        System.out.println(sum);
        return sum;
    }
    public  String longestCommonPrefix(String[] strs) {
        String sum="";
        //2.循环求最小值;
        int min=strs[0].length();
        if(strs.length==1)
        {
            sum=strs[0];
        }else{
            for(int i=1;i<strs.length;i++)
            {
                int x=gongSum(strs[i],strs[i-1]);
                if(x>0){
                    min=Math.min(min,x);
                } else if (x==0) {
                    min=0;
                    break;
                }
            }
        }
        System.out.println(min);
        if(min==0)
        {
            return "";
        }else{
            StringBuffer s1=new StringBuffer();
            for(int i=0;i<min;i++)
            {
                s1.append(strs[0].charAt(i));
            }
            sum=s1.toString();
        }
        return sum;
    }
}


http://www.kler.cn/a/512563.html

相关文章:

  • Python基于OpenCV和PyQt5的人脸识别上课签到系统【附源码】
  • 阳振坤:AI 大模型的基础是数据,AI越发达,数据库价值越大
  • 【错误解决方案记录】spine3.8.75导出的数据使用unity-spine3.8插件解析失败报错的解决方案
  • 创建一个简单的spring boot+vue前后端分离项目
  • 使用docker部署mysql和tomcat服务器发现的问题整理
  • 数据库管理-第285期 Oracle 23ai:深入浅出向量索引(20250117)
  • Docker 部署 mysql
  • Java设计模式—观察者模式
  • Python实现PDF文档转图片功能
  • c++ 给定欧氏平面中的一组线可以形成的三角形的数量
  • 嵌入式Linux驱动开发之pinctrl和gpio子系统
  • 《Vue3 七》Vue 中的动画
  • 【语言处理和机器学习】概述篇(基础小白入门篇)
  • 蒙操作系统(HarmonyOS)
  • 具身智能新突破!Physical Intelligence推出机器人动作tokenizer,训练提速5倍
  • 高级java每日一道面试题-2025年01月20日-数据库篇-并发事务带来哪些问题?
  • JeecgBoot 低代码 AI 大模型集成 DeepSeek
  • 【云岚到家】-day03-门户缓存实现实战
  • 服务器日志自动上传到阿里云OSS备份
  • 【网络协议】【http】【https】RSA+AES-TLS1.2
  • Unity3D学习笔记(一)
  • Python绘制数据地图-MovingPandas
  • 【Qt 常用控件】显示类控件——QLabel
  • 最长递增子序列问题(Longest Increasing Subsequence),动态规划法解决,贪心算法 + 二分查找优化
  • 鸿蒙子组件根据数据,刷新item Ui的规范
  • 重讲Diffusion Policy(从公式和代码角度): 个人最看好的机器人操控算法