力扣经典题目之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,总结

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

相关推荐
leobertlan1 小时前
痛苦系列 | DSP-03 跨越单位圆:Z变换与零极点分析
算法·程序员
蛋蛋的就会顺顺的2 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
开发小能手1232 小时前
答案daanC语言
数据结构·算法
小 黄 鸡2 小时前
HashMap 面试必会知识点详解(JDK 8)
java·面试·职场和发展
Navigator_Z4 小时前
LeetCode //C - 1291. Sequential Digits
c语言·算法·leetcode
pride.li5 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
旺仔仔仔6 小时前
机器人项目实战(5):从单次抓取,到接收指令连续做事
算法
旺仔仔仔6 小时前
机器人项目实战(2):识别物体、提取点云,再到抓取姿态
算法
姜鱼问生6 小时前
密码明明一样,为什么 GPG 说“错的“?
后端·算法·架构
启观川6 小时前
数据结构与算法-第 3 章 常用算法-贪心算法
数据结构·笔记·python·算法·贪心算法