实现strStr()

《strstr()、strtok()、strerror()》函数讲解,全网最细干货! 本文章主要详细的介绍了三个函数的操作及注意事项 阅读详情

实现 **strStr() **函数。

给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。

####示例 1:

输入: haystack = "hello", needle = "ll"
输出: 2

####示例 2:

输入: haystack = "aaaaa", needle = "bba"
输出: -1

####说明:

当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。

对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。



###解法1: **思路:**简单来说就是两个字符串同时开始遍历,判断如果对应字符相同,则两字符串指针 i 和 j 位置都加一,如果不相同,则只有haystack的 i 指针加一并且needle从头开始,**此时 i = i - flag+1**。


class Solution {
    public int strStr(String haystack, String needle) {
        int i=0;
        int j=0;
        int flag=0;
        if(needle.length()==0){
            return 0;
        }
            while(i<haystack.length()&&j<needle.length()){
                if(haystack.charAt(i)==needle.charAt(j)){
                    i++;
                    j++;
                    flag++;
                }else{
                    j=0;
                    i=i-flag+1;
                    flag=0;
                }
                
                if(j==needle.length()&&flag==needle.length()){
                return i-needle.length();
                }
            }
        return -1;
    }
}

###解法2: leetcode 高分答案:看到这个解法的时候眼泪掉下来。。。。。。
class Solution {
    public int strStr(String haystack, String needle) {
         return haystack.indexOf(needle);
    }
}
win2016 php mysql_Windows Server 2016 IIS10.0+PHP(FastCGI)+MySQL环境搭建教程 | 系统运维... 准备篇一、环境说明:操作系统:Windows Server 2016PHP版本:php 7.1.0MySQL版本:MySQL 5.7.17.0二、相关软件下载:1、PHP下载地址:2、MySQL下载地址:3、Microsoft Visual C++ 2010 可再发行组件包(安装MySQL需要此插件)4、Visual C++ Redistributable for Visual Studio 20... 阅读详情

相关推荐

Arm Neoverse CMN-700 QoS与PrefetchTarget架构解析

在现代多核处理器系统中,内存访问性能优化是提升整体效能的关键。QoS(服务质量)技术通过优先级调控机制,确保关键任务获得更高的缓存带宽和内存访问权限。PrefetchTarget作为预取技术的一种实现,能够显著降低内存访问延迟,特别适用于AI训练和数据库系统等高性能计算场景。Arm Neoverse CMN-700通过RN SAM模块实现了硬件级的地址范围检测和优先级调控,支持最多8个独立内存区域的QoS配置。测试数据显示,合理配置QoS可使关键任务延迟降低40%,而PrefetchTarget技术则能减少

weixin_36197669的博客 315

strstr函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )

strstr函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )

kim的博客 10万+

centos7部署mysql8.0.35,主从复制,主主集群

centos7 linux部署mysql,主从复制,主主模式

zaixiaqin的博客 1990

C语言strstr()函数用法-字符串查找

strstr()函数是一个参数为两个字符指针类型,返回值是char*类型的函数。用于找到子串(str2)在一个字符串(str1)中第一次出现的位置(不包括str2的串结束符),并返回该位置的指针,如果找不到,返回空指针(NULL)。这里因为传进来的地址指向的内容不会在发生改变,所以我们在两个形参(char*)前加上const。它包含在string.h头文件中。

蜗牛的专栏 2万+

代码实现 —— 基于 STM32 的可见光通信系统课程设计

基于STM32F103ZET6,源码如需移植,需要修改定时器捕获通道引脚,及定时器,如果你也有这个课设任务,希望对你有所帮助。

不善挽留 1万+

【脑肿瘤分类与迁移学习技术】Swin UNETR:当 Swin Transformer 遇见 3D 医学图像分割——从黑盒到白盒的逐层拆解

医学图像分割的终极目标是让算法成为医生的可靠副手,而非黑箱替代品。理解 Swin UNETR 的每一层如何流动、每一个窗口如何移位、每一次拼接如何融合,不仅是为了调参,更是为了在临床场景中。

u012133341的博客 55

字符串函数strstr()详解

字符串函数strstr()详解

嘻嘻爱编码的博客 3184

【机器学习-09】特征工程

特征工程是机器学习模型构建的初步工作,但它的重要性却贯穿整个模型生命周期。在进行特征工程时,我们需要充分利用数据科学的知识和技巧,结合具体的应用场景和业务需求,来制定出最合适的特征提取和转换策略。只有这样,我们才能为机器学习模型提供最有价值的输入,从而使其发挥出最大的潜力。总之,特征工程是机器学习中的一项关键任务,它需要我们用心去探索、去实践、去创新。只有不断地优化和完善特征工程的过程,我们才能构建出更加准确、更加可靠的机器学习模型,为实际应用带来更大的价值。

qq_38614074的博客 2万+

实现strStr()的三种方法

strStr()函数的定义: 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 现在我们来介绍一下实现这个函数的三种方法(采用的语言为C++) 对不齐可不能怨我哦,写的时候是对齐的。。。 文章目录暴力解法KMP算法Rabin Karp算法 暴力解法 暴力解法也就是所说的移动窗口,将needle的0下标与haystack的0下标对齐,然后一一对比每一个字符,如果有一个字符不匹

h1429541165的博客 5229

OpenClaw小白使用全攻略

OpenClaw全能技能解锁指南:从基础到进阶 摘要: 本文提供OpenClaw AI智能体的完整使用教程,帮助用户从安装后"不知道如何用"到熟练掌握核心功能。教程包含:1)控制台5大区域详解和3个必做初始化设置;2)文件管理、浏览器自动化、文档生成等5大基础功能实操,每个功能配有详细操作步骤、指令模板和效果演示;3)10+高频场景解决方案,如整理文件、搜集资料、写总结等;4)进阶技巧和常见问题解答。通过清晰的图文指引,即使电脑小白也能快速上手,实现办公自动化、提升工作效率。

通俗易懂学IT 3060

USB驱动(URB)

本文介绍了Linux内核中USB驱动开发的核心概念URB(USB Request Block)。URB是主机与USB设备间传输数据的抽象结构体,包含目标设备、端点信息、数据缓冲区等关键字段。文章详细解析了URB的生命周期(分配、填充、提交、回调、释放)、四种传输类型(控制、批量、中断、等时)及其应用场景,并提供了鼠标设备的中断传输示例代码。最后强调了URB使用注意事项,包括DMA缓冲区分配、错误处理和资源释放等。URB作为USB驱动与内核通信的桥梁,是构建稳定USB驱动程序的基础。

m0_49476241的博客 915

C语言strstr()函数详解

strstr()函数的原型定义在strstr()函数是C语言标准库中一个重要的字符串处理函数,用于查找子字符串在主字符串中的第一次出现。通过理解其定义、用法和实现,我们可以在各种字符串处理任务中有效地使用它。尽管strstr()函数在处理小规模字符串时性能表现良好,但在大规模文本处理任务中,可以考虑使用更高效的算法或第三方库。希望通过本文的讲解,读者能对C语言中的strstr()函数有一个全面深入的了解,并能在实际编程中灵活应用这些知识。如果你有任何问题或建议,欢迎在下方留言与我交流。

新华编程特战队 1万+

STM32实战开发(120):基于STM32的智能pH值检测系统开发

pH值检测:通过pH传感器实时检测溶液的酸碱度。数据采集与处理:STM32单片机通过模拟信号采集并进行数字化处理。数据显示与控制:通过LCD或OLED屏幕实时显示pH值。数据存储与上传:将数据保存在本地SD卡,或通过Wi-Fi模块上传至云平台。低功耗设计:适合长时间运行,减少能源消耗。本文介绍了如何基于STM32单片机开发智能pH值检测系统,涉及硬件设计、软件开发及应用实现。该系统可以实时检测pH值,并将数据展示、存储、上传至云平台,适用于环境监测、农业、水处理等多个领域。

2201_76125393的博客 1818

自己实现strstr()函数

#include<stdio.h> #include<stdlib.h> #include<assert.h> char* my_strstr(const char* str1, const char* str2) { //断言宏 char *p = (char *)str1; char *s1 = (char *)str1; char *s2 ...

mysterious superstar 2074

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C语言实现strstr()

实现strstr()

爱上小公举 2723

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LeetCode-实现strStr()

题目: 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/implement-strstr 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 ...

小名同学 21万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LeetCode 实现strStr()

实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = “hello”, needle = “ll” 输出: 2 示例 2: 输入: haystack = “aaaaa”, needle = “bba...

hestyle的博客 720

strstr()函数的使用说明(C语言)

头文件 <string.h> 函数作用: 1、strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。 2、找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址; 3、如果未找到所搜索的字符串,则返回NULL。 函数原型: char *strstr(char *str1, const char *str2); //返回值为字符型指针 str1: 被查找目标...

优快云 6万+

C语言字符串函数strstr的详细解释

上面的程序中,我们使用了 strstr() 函数查找字符串 “world” 是否出现在字符串 “hello world” 中,并打印出了其在字符串中的位置。注意,我们可以通过计算返回指针和字符串首地址之间的差值来获取它在字符串中的索引位置。第一个参数 str1 表示待查找的字符串,第二个参数 str2 表示要查找的子字符串。在C语言中,strstr()函数是一个字符串处理函数,它用于在一个字符串中查找另一个字符串的出现位置。函数返回一个指向字符串中第一次出现 str2 子字符串的位置的指针。

nnnggglo的博客 3685

字符串查找函数Strstr函数的实现(详细易懂)

首先,字符串查找函数是在目的字符串中查找源字符串的首次出现的具体位置,若找到了便返回该位置的地址,若没有找到,则返回空指针NULL char* strstr(const char*arr1 , const char* arr2); #include<stdio.h> #include<assert.h> char* my_strstr(const char* arr1,const char* arr2)//查找字符串,目的地字符串和源头字符串的内容不发生改变(const) { .

weixin_64523024的博客 3436

C语言 strstr函数的用法及模拟实现strstr函数

C语言 strstr函数的用法及模拟实现strstr函数一、strstr函数的用法二、模拟实现strstr函数的功能 一、strstr函数的用法 1.strstr函数原型:char* strstr(const char* str1,const char* str2) 2.功能:strstr()是一个参数为两个字符指针类型,返回值是char*类型的函数,它用于找到子串(str2)在一个字符串(str1)中第一次出现的位置。这里因为传进来的地址指向的内容不会在发生改变,所以我们在两个形参(char*)前加上c

weixin_62677583的博客 3万+

strstr函数c语言_C和C ++教程中的strstr()函数以及示例

strstr函数c语言C and C++ programming languages provide the strstr() function in order to find or match a string in another string. For example, we can search pof string inside the poftut.com and find matc...

cunjiu9486的博客 1334

字符串操作函数strstr

在编写程序的过程中,我们不可避免地会调用字符串操作函数,今天要介绍的字符串操作函数是strstr函数。strstr函数是在字符串str1中查找是否含有字符串str2,如果存在,返回str2在str1中第一次出现的地址;否则返回NULL。//strstr函数的应用int main(){return 0;}

weixin_61486281的博客 3万+

LeetCode-实现strStr()-简单

标题:实现strStr()-简单 题目 实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。 说明: 当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。 示例1

wxy 579

strstr函数的实现

strstr函数的一种实现方法

Hoarfrost_的博客 548

C 语言:strstr()函数

C 库函数 char *strstr(const char *函数在字符串中查找子字符串的第一个出现。不比较终止的“\0”字符。字符数组称为字符串。

新华编程特战队 519
上一篇: 验证回文字符串
下一篇: 最长公共前缀
coder_flag
博客等级 码龄9年 2粉丝 53原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值