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

力扣经典题目之14. 最长公共前缀

今天继续给大家分享一道力扣的做题心得今天这道题目是14. 最长公共前缀 - 力扣(LeetCode)

题目如下


1,题目分析

题目给出了一个字符串数组,我们需要找出这个数组中所有字符串元素的最长的公共前缀字符,公共前缀和即为这个字符串数组中所有字符串元素从前往后都有的最长的子串,例子如上面题目介绍所示,题目不难我们现在立刻开始解题,下面首先给出题解代码

2,解题思路

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if (strs == null || strs.length == 0) return "";
        
        String max = ""; // 显式初始化
        // 以第一个字符串为基准
        for (int y = 0; y < strs[0].length(); y++) {
            char currentChar = strs[0].charAt(y);
            // 遍历其他字符串的相同位置字符
            for (int x = 1; x < strs.length; x++) {
                // 如果其他字符串长度不足或字符不匹配,直接返回当前结果
                if (y >= strs[x].length() || strs[x].charAt(y) != currentChar) {
                    return max;
                }
            }
            max += currentChar; // 所有字符串该位置字符相同,加入结果
        }
        return max;
    }
}

我们以逐个遍历数组,以第一个字符串为基准开始,获取从头开始的每一个字符,然后通过遍历判断当前获取的这个字符是否每一个字符串都有,如果有字符串没有此字符则就可以直接返回结果了

4,总结

        感谢大家的阅读,希望这篇解题心得能为大家带来一些收获,我们共同进步!大家的点赞就是我的动力谢谢大家,还有什么更优解或者问题欢迎大家在评论区讨论分享!


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

相关文章:

  • Spring Boot Web项目全解析:从前端请求到后端处理
  • springboot 启动原理
  • 9 点结构模块(point.rs)
  • 机器学习优化算法:从梯度下降到Adam及其变种
  • 【JAVA基础】双亲委派
  • MySQL 索引
  • Alibaba开发规范_异常日志之日志规约:最佳实践与常见陷阱
  • 最新功能发布!AllData数据中台核心菜单汇总
  • Win11使用VMware提示:平台不支持虚拟化的 Intel VT-x/EPT
  • 【BUUCTF逆向题】[WUSTCTF2020]level1、[GUET-CTF2019]re
  • linux通过lvm调整分区大小
  • 【Leetcode 每日一题】81. 搜索旋转排序数组 II
  • 【ChatGPT:开启人工智能新纪元】
  • 嵌入式硬件篇---HAL库内外部时钟主频锁相环分频器
  • Leetcode面试高频题分类刷题总结
  • GESP2023年9月认证C++六级( 第三部分编程题(2)小杨的握手问题)
  • BFS(广度优先搜索)——搜索算法
  • unity学习27:用Input接口去监测: 单点触摸和多点触摸
  • 虚幻基础17:动画层接口
  • 【C语言入门】解锁核心关键字的终极奥秘与实战应用(二)
  • js数据结构与算法
  • 房屋中介管理系统的设计与实现
  • 图形学笔记 - 5-光线追踪 - 辐射度量学
  • 高频文件更新数据实时同步实现原理
  • TensorFlow 示例平方米转亩
  • OpenCV:FLANN与暴力特征匹配