【leetcode】第28题 Implement strStr() 题目+解析+代码

本文介绍了一个简单的strStr()函数实现方法,该函数用于查找一个字符串(haystack)中首次出现另一个字符串(needle)的位置。如果找到,则返回该位置的索引;否则返回-1。文章提供了详细的代码实现及解析。

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

【题目】

Implement strStr().

Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.

【解析】

要求实现strStr()函数。
返回在子字符串needle在字符串haystack中第一次出现的位置,如果没有找到则返回-1;

这个题目时间复杂度应该都是O(m*n)。

【代码】

public int strStr(String haystack, String needle) {
        int n=haystack.length(),m=needle.length();
        if(m==0) return 0;
        for(int i=0;i<n;i++)
        {
            if(i+m>n) break;
            for(int j=0;j<m;j++)
            {
                if(needle.charAt(j)!=haystack.charAt(i+j))
                    break;
                else
                    if(j==m-1&&needle.charAt(j)==haystack.charAt(i+j))
                        return i;
            }
            
        }
        return -1;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值