NC55 最长公共前缀

描述

给你一个大小为 n 的字符串数组 strs ,其中包含n个字符串 , 编写一个函数来查找字符串数组中的最长公共前缀,返回这个公共前缀。

示例1

输入:["abca","abc","abca","abc","abcc"]

返回值:"abc"

示例2

输入:["abc"]

返回值:“abc"

思路:求最长的公共部分,那么就从每一个字符串的第一个字符开始比较。将这个一维字符串数组想象成一列,依次比较每一个字符串的每一个字符,直到有不相同的字符出现或者到有一个字符串比较完了的情况出现就返回。

如图:

代码及详情如下:

import java.util.*;


public class Solution {
    /**
     * 
     * @param strs string字符串一维数组 
     * @return string字符串
     */

    public String longestCommonPrefix (String[] strs) {
        //判空操作
        if(strs.length==0||strs==null){
            return "";
        }
        //第一个字符串的长度
        int length=strs[0].length();
        //以第一个字符串里的字符为标准进行比较
        for(int index=0;index<length;index++){
            //第一个字符串的字符
            char str1=strs[0].charAt(index);
            //挨个比较
            for(int i=1;i<strs.length;i++){
                //如果比较到不同的或者已经到了一个字符串的最后一位时就直接返回
                if(strs[i].length()==index||str1!=strs[i].charAt(index))
                    return strs[0].substring(0,index);
            }
        }
        return strs[0];
    }
}

总结两个方法:

1、charAt() 方法

用途:返回指定索引处的char值。

语法:public char charAt(int index)

  • 索引范围是从0到length() - 1。 
  • 对于数组索引,序列的第一个char值是在索引为0,索引1的位置,后序依此类推。

2、 substring()方法

用途:截取方法调用者(即str)的从indexStart到indexEnd(包括indexStart,不包括indexEnd;即含头不含尾、或左闭右开区间内的子字符串)。

语法:public String substring(indexStart,indexEnd);

  • start是起点索引,end是结束索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多低调

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值