Leetcode:实现 strStr()函数

【C语言】strstr函数刨析-----字符串查找 strstr函数是在一个字符串中查找另一个字符串的第一次出现,并返回该位置的指针,如果找不到,则返回NULL。 阅读详情
package per.leetcode.string;

/**
 * @program: IDEAproject
 * @description: 实现 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() 定义相符。
 *
 * @author: mosum
 * @create: 2019-03-24 17:17
 */
public class StrFunction {
    public int strStr(String haystack, String needle){
        int count = 0;
        int markIndex = 0;
        if (needle.length()==0){
            return 0;
        }
        for (int i = 0; i < haystack.length();i++){
            char strItem = haystack.charAt(i);
            //当父字符串的某个字符与子字符串相同时开始查找
            if (haystack.length()-i < needle.length() - count){
                return -1;
            }
            else if (haystack.length()-i >= needle.length() - count && strItem == needle.charAt(count)){
                if (count == needle.length() - 1){
                    return markIndex;
                }
                else {
                    if (count == 0){
                        markIndex = i;
                    }
                    count++;
                    continue;
                }

            }
            else {
                i = markIndex++;
                count = 0;
            }
        }
        return -1;
    }
    public int strStr2(String haystack, String needle){
        return haystack.indexOf(needle);
    }
    public static void main(String[] args){
        StrFunction strFunction = new StrFunction();
        String haystack = "hellolll", needle = "lll";
        int isFound = strFunction.strStr(haystack, needle);
        System.out.println(isFound);
    }
}

告别手动连接!一键搞定Mumu模拟器与Android Studio的ADB配置 本文详细介绍了如何通过编写自动化脚本,一键完成Mumu模拟器与Android Studio的ADB连接配置。告别繁琐的手动命令输入,该脚本能智能检查环境、判断连接状态并自动处理端口转发,显著提升Android开发者的调试与测试效率。 阅读详情

相关推荐

GDI文字绘制和windows下opengl文字绘制小结

GDI绘制文字,要设置文字的属性,主要就是通过设置DC中的font对象来实现的。 font对象的创建可以由createfont()、createfontIndirect()来实现。 HFONT CreateFont( int nHeight, // height of font int nWidth, // average

T_W_S的专栏 5323

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

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

kim的博客 10万+

微带T型一分四功分器HFSS仿真与实物制作教程

本文介绍了使用HFSS软件进行微带T型一分四功分器的仿真与使用国产立创EDA软件将HFSS仿真文件转为PCB可加工文件的方法

qq_52127343的博客 2万+

strstr函数详解:【子字符串查找】的利器

深入解析了strstr函数的实现原理和使用方法

天行健、君子以自强不息 1万+

告别JTAG!用Artix-7和SPI Flash实现FPGA远程升级的保姆级教程

本文详细介绍了如何利用Artix-7 FPGA和SPI Flash实现FPGA远程升级(OTA)的完整方案。通过硬件连接、Vivado工程配置和STM32模拟更新等步骤,帮助开发者告别传统的JTAG烧录方式,实现高效、安全的远程固件更新,特别适用于嵌入式系统开发中的现场维护场景。

weixin_33964987的博客 364

QCustomPlot实战:从入门到精通的数据可视化

本文详细介绍了如何使用QCustomPlot进行数据可视化,从基础环境搭建到高级图表定制,涵盖实时监控、多坐标系联动等实战技巧。基于Qt的QCustomPlot库以其强大的绘图能力和灵活的API,帮助开发者快速实现专业级数据可视化效果。

weixin_29003437的博客 115

strstr函数详解

strstr函数是一个方便的工具,用于在字符串中查找子串。

2302_80309125的博客 2890

学Simulink——基于软开关与高频变换的整流器系统场景实例:移相全桥ZVS整流器在轻载条件下的效率优化

本文以Simulink为平台,详细介绍了移相全桥ZVS整流器在轻载条件下的建模与优化方法。通过六个步骤系统讲解了从项目创建到仿真运行的全过程,重点分析了移相全桥拓扑结构、ZVS检测逻辑设计及轻载特性。结果显示,传统移相全桥在轻载时ZVS失效导致效率下降(<88%)。针对此问题,提出了动态频率调整、不对称半桥模式等优化策略。该案例为理解软开关技术、提升电源效率提供了实用建模方法和优化思路。

xiaoheshang_123的博客 117

字符串操作函数strstr

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

weixin_61486281的博客 3万+

搭建一个简单的 Django + Vue 项目

在本文中,我将为您详细介绍如何搭建一个简单的 Django + Vue 项目。Django 是一个使用 Python 编写的高级 Web 框架,而 Vue 是一个流行的 JavaScript 框架,用于构建用户界面。通过结合 Django 和 Vue,我们可以创建强大的全栈 Web 应用程序。创建 Django 项目设置 Django 后端创建 Vue 前端连接 Django 和 Vue让我们开始吧!

JfpBlockchain的博客 352

【软考】高项论文写作常见模板

本文主要介绍了YYYY年MM月DD日,我所在公司承接了XXXX项目的建设过程,包括了XXX,XXX,XXX内容,涉及到XXX,XXX,XXX技术。本人在项目中承载着项目经理的角色,主要负责了XXX,XXX,XXX方面事宜。此项目时间紧,任务重,实施过程中,我们特别注重了1、XXX 2、XXX 3、XXX几个方面,经过团队的一致努力,本项目按时交付,运行至今,客户反馈良好。但是在实施过程中,也曝露除了一些问题,包括了XXX,XXX等,通过应急处理和协调,这些问题都得到了妥善解决,没有影响到项目进度。

奶爸的编程之路,也就一周冷个三天 1690

LeetCode力扣真题解惑第1篇 —— 力扣第28题:实现 strStr()函数

LeetCode力扣真题解惑第1篇 —— 实现 strStr() 28. 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = “hello”, needle = “ll” 输出: 2 示例 2: 输入: haystack = “aaaaa”, needle = “bba” 输出: -1 说明: 当 need

浮生若梦,云游四方 492

基于深度学习的交通标志识别系统:使用YOLOv10、UI界面及自定义数据集的实现

实时检测和分类交通标志。提供一个友好的用户界面,方便用户上传图片或视频进行检测。收集和显示检测结果,以便进行进一步分析。YOLO(You Only Look Once)是一种高效的目标检测算法,它能够在一次前向传播中同时进行目标定位和分类。YOLOv10是YOLO系列的最新版本,具有更好的检测精度和速度。本项目成功实现了基于YOLOv10的交通标志检测与识别系统。通过实时检测与分类,系统能够有效识别出各种交通标志,为智能交通应用提供支持。

YOLO 1235

strstr函数c语言库函数_LeetCode力扣真题解惑第1篇 —— 力扣第28题:实现 strStr()函数...

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

weixin_35823441的博客 208

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

strstr函数_LeetCode题目28:实现strStr()

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

weixin_39968592的博客 108

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

第八题:实现 strStr() 函数 来自《LeetCode》题库

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

wenquan19960602的博客 254

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Leetcode:strStr 实现 strStr() 函数

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

qq_44189622的博客 158

LeetCode——第28题:实现strStr()函数

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

RBreeze的博客 760

LeetCode(28):实现strStr() 函数

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

dong87871311的博客 187

java strstr函数_LeetCode 28:实现strStr() Implement strStr()

爱写bug(ID:icodebugs)作者:爱写bug给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。Implement strStr().Return the index of the first occurrence of needle in haystack, ...

weixin_34532234的博客 213

leetcode每日一题:实现 strStr() 函数

实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 脑子一闪,字符串内置方法indexOf()就是这个功能。 var strStr = function(haystack, needle) { return haystack.indexOf(needle) }; 备注:indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的

weixin_44143279的博客 183

[C++]LeetCode 28: Implement strStr() (实现strStr()函数)

Problem: Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. 分析: int strStr(char* haystack, char* needle) 的作用是寻找needle

emmaalways的专栏 607

leetcode 28:实现 strStr() 函数。

题目描述: 给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。 示例 1: 输入: haystack = "hello", needle = "ll" 输出: 2 解题思路: 方法一:子串逐一匹配 将长度为 L 的滑动窗口沿着 haystack 字符串逐步移动,并将窗口内的子串与 needle 字符串相比较,时间复杂度为O((N−L)L) class Soluti...

qq_36854740的博客 224

LeetCode初级算法之字符串:28 实现 strStr() 函数

01 题目信息 ...

木瓜煲鸡脚的博客 196

开涮力扣:1.实现 strStr() 函数--2.反转字符串

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

asdwt123的专栏 204

【leetcode】【easy】28. Implement strStr()​​​​​​​

28. Implement strStr() ImplementstrStr(). Return the index of the first occurrence of needle in haystack, or-1if needle is not part of haystack. Example 1: Input: haystack = "hello", needle = ...

lemonade13的博客 144
上一篇: CSS从三角形到聊天气泡框
下一篇: Leetcode:字符串中第一个唯一字符 & 有效的字母异位词
MosumLucifer
博客等级 码龄12年 19粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值