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

LeetCode(14)获取字符串数组中字符串的公共前缀

问题:

Write a function to find the longest common prefix string amongst an array of strings.

If there is no common prefix, return an empty string "".

java解答

class Solution {
    /**
     * 思路
     * 根据这个字符串数组中最短的字符串的长度,确定遍历的次数
     * 在每次遍历中,遍历每个字符串,依次从首个字符串的首个字符开始,分别与每个字符串的对应位置的字符比较
     * 如果不等,则break,如果一次遍历过程结束,没有break,将这个字符放到结果字符串中
     */
    //结果字符串
    private String result = "";
    //字符串数组中最短字符串的长度
    private int minStr = 0;
    //获取这个字符串数组中最短字符串的长度
    public void getMinStr(String[] strs){
        if(strs.length < 1){
            return;
        }
        int temp = strs[0].length();
        for(String str:strs){
            if(temp>str.length()){
                temp = str.length();
            }
        }
        this.minStr = temp;
    }
    //遍历字符串数组,存放结果
    public void getLongestCommonPrefix(String[] strs){
        for(int i = 0;i < this.minStr; i++){
            for(int j = 1; j < strs.length; j++){
                if(strs[0].charAt(i) != strs[j].charAt(i)){
                    return;
                }
            }
            this.result += strs[0].charAt(i);
        }
    }
    public String longestCommonPrefix(String[] strs) {
        if(strs.length < 1){
            return "";
        }else if(strs.length == 1){
            return strs[0];
        }
        this.getMinStr(strs);
        this.getLongestCommonPrefix(strs);
        return this.result;
    }
}

 

相关文章:

  • LintCode(632)查找二叉树中值最大的节点
  • LeetCode(20)判断字符串合法括号
  • spring整合jbpm的简述
  • nginx反向代理tomcat一段时间后出现的ERR_CONTENT_LENGTH_MISMATCH异常
  • cas简介
  • [one_demo_15]模拟交通灯管理系统
  • jquery easyui datagrid columns日期格式化问题
  • jquery使用$(xx).text()与字符串比较,明明看着相等,结果却为false
  • 联合使用jsp标签和struts的标签在jsp页面获取当前时间
  • 从iframe框架进入登录页面时跳出iframe到顶层页面
  • springboot简介
  • jpa
  • LintCode(22)将一个嵌套集合按照原顺序处理为Integer集合
  • [one_demo_16]直接插入排序的demo
  • [one_demo_17]使用传统方式实现线程间通信的例子
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 11111111
  • Brief introduction of how to 'Call, Apply and Bind'
  • C++入门教程(10):for 语句
  • httpie使用详解
  • MYSQL 的 IF 函数
  • Node项目之评分系统(二)- 数据库设计
  • SpiderData 2019年2月16日 DApp数据排行榜
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Vue小说阅读器(仿追书神器)
  • 构建二叉树进行数值数组的去重及优化
  • 走向全栈之MongoDB的使用
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • #FPGA(基础知识)
  • (2)Java 简介
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (一)基于IDEA的JAVA基础12
  • (转)shell调试方法
  • (转)视频码率,帧率和分辨率的联系与区别
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net6+aspose.words导出word并转pdf
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .Net下的签名与混淆
  • .考试倒计时43天!来提分啦!
  • @JsonSerialize注解的使用
  • @Responsebody与@RequestBody
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [ABP实战开源项目]---ABP实时服务-通知系统.发布模式
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured
  • [AutoSar NVM] 存储架构
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [BT]BUUCTF刷题第8天(3.26)
  • [BUUCTF]-PWN:wustctf2020_number_game解析(补码,整数漏洞)
  • [BZOJ2208][Jsoi2010]连通数
  • [bzoj2957]楼房重建
  • [BZOJ5250][九省联考2018]秘密袭击(DP)
  • [CF226E]Noble Knight's Path