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

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

题目如下


1,题目分析

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

2,解题思路

java 复制代码
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,总结

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

相关推荐
木子.李3475 小时前
排序算法总结(C++)
c++·算法·排序算法
闪电麦坤956 小时前
数据结构:递归的种类(Types of Recursion)
数据结构·算法
互联网杂货铺7 小时前
完美搭建appium自动化环境
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
Gyoku Mint7 小时前
机器学习×第二卷:概念下篇——她不再只是模仿,而是开始决定怎么靠近你
人工智能·python·算法·机器学习·pandas·ai编程·matplotlib
纪元A梦7 小时前
分布式拜占庭容错算法——PBFT算法深度解析
java·分布式·算法
px不是xp8 小时前
山东大学算法设计与分析复习笔记
笔记·算法·贪心算法·动态规划·图搜索算法
枫景Maple8 小时前
LeetCode 2297. 跳跃游戏 VIII(中等)
算法·leetcode
鑫鑫向栄9 小时前
[蓝桥杯]修改数组
数据结构·c++·算法·蓝桥杯·动态规划
鑫鑫向栄9 小时前
[蓝桥杯]带分数
数据结构·c++·算法·职场和发展·蓝桥杯