leetcode 14-Longest Common Prefix

本文介绍了一种算法,用于在一组字符串中找到最长的公共前缀。通过遍历第一个字符串并比较其他字符串的相应位置字符,实现高效查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原题:

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

即求一组字符串的最长公共前缀

思路:

暴力法,以字符串数组中第一个字符串为基准,遍历第一个字符串,依次将该字符串中的字符与其他字符串相应位置中的字符进行比较。相同则继续,不同则退出,返回上一次循环的结果。


代码(Java):

public class Solution {
    public String longestCommonPrefix(String[] strs) 
    {
        if(strs.length == 0)
        {
            return "";
        }
        if(strs.length == 1)
        {
            return strs[0];
        }
        String prefix = "";
      
        for(int i = 0; i < strs[0].length(); i++)       //遍历第一个字符串
        {
            for(int j = 1; j < strs.length; j++)        //遍历整个字符串数组
            {
                int currentLength = strs[j].length();
                //如果当前字符串长度小于i,则无需再进行下去
                //如果当前字符与strs[0]相同位置的字符不匹配,也无需进行下去
                if(currentLength < i+1 || strs[0].charAt(i)!=strs[j].charAt(i))
                {
                    return prefix;
                }
            }
            prefix = prefix + strs[0].charAt(i);
        }
        return strs[0];
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值