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);
}
}
相关推荐
GDI文字绘制和windows下opengl文字绘制小结
GDI绘制文字,要设置文字的属性,主要就是通过设置DC中的font对象来实现的。 font对象的创建可以由createfont()、createfontIndirect()来实现。 HFONT CreateFont( int nHeight, // height of font int nWidth, // average
strstr函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )
strstr函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )
微带T型一分四功分器HFSS仿真与实物制作教程
本文介绍了使用HFSS软件进行微带T型一分四功分器的仿真与使用国产立创EDA软件将HFSS仿真文件转为PCB可加工文件的方法
strstr函数详解:【子字符串查找】的利器
深入解析了strstr函数的实现原理和使用方法
告别JTAG!用Artix-7和SPI Flash实现FPGA远程升级的保姆级教程
本文详细介绍了如何利用Artix-7 FPGA和SPI Flash实现FPGA远程升级(OTA)的完整方案。通过硬件连接、Vivado工程配置和STM32模拟更新等步骤,帮助开发者告别传统的JTAG烧录方式,实现高效、安全的远程固件更新,特别适用于嵌入式系统开发中的现场维护场景。
QCustomPlot实战:从入门到精通的数据可视化
本文详细介绍了如何使用QCustomPlot进行数据可视化,从基础环境搭建到高级图表定制,涵盖实时监控、多坐标系联动等实战技巧。基于Qt的QCustomPlot库以其强大的绘图能力和灵活的API,帮助开发者快速实现专业级数据可视化效果。
strstr函数详解
strstr函数是一个方便的工具,用于在字符串中查找子串。
学Simulink——基于软开关与高频变换的整流器系统场景实例:移相全桥ZVS整流器在轻载条件下的效率优化
本文以Simulink为平台,详细介绍了移相全桥ZVS整流器在轻载条件下的建模与优化方法。通过六个步骤系统讲解了从项目创建到仿真运行的全过程,重点分析了移相全桥拓扑结构、ZVS检测逻辑设计及轻载特性。结果显示,传统移相全桥在轻载时ZVS失效导致效率下降(<88%)。针对此问题,提出了动态频率调整、不对称半桥模式等优化策略。该案例为理解软开关技术、提升电源效率提供了实用建模方法和优化思路。
字符串操作函数strstr
在编写程序的过程中,我们不可避免地会调用字符串操作函数,今天要介绍的字符串操作函数是strstr函数。strstr函数是在字符串str1中查找是否含有字符串str2,如果存在,返回str2在str1中第一次出现的地址;否则返回NULL。//strstr函数的应用int main(){return 0;}
搭建一个简单的 Django + Vue 项目
在本文中,我将为您详细介绍如何搭建一个简单的 Django + Vue 项目。Django 是一个使用 Python 编写的高级 Web 框架,而 Vue 是一个流行的 JavaScript 框架,用于构建用户界面。通过结合 Django 和 Vue,我们可以创建强大的全栈 Web 应用程序。创建 Django 项目设置 Django 后端创建 Vue 前端连接 Django 和 Vue让我们开始吧!
【软考】高项论文写作常见模板
本文主要介绍了YYYY年MM月DD日,我所在公司承接了XXXX项目的建设过程,包括了XXX,XXX,XXX内容,涉及到XXX,XXX,XXX技术。本人在项目中承载着项目经理的角色,主要负责了XXX,XXX,XXX方面事宜。此项目时间紧,任务重,实施过程中,我们特别注重了1、XXX 2、XXX 3、XXX几个方面,经过团队的一致努力,本项目按时交付,运行至今,客户反馈良好。但是在实施过程中,也曝露除了一些问题,包括了XXX,XXX等,通过应急处理和协调,这些问题都得到了妥善解决,没有影响到项目进度。
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
基于深度学习的交通标志识别系统:使用YOLOv10、UI界面及自定义数据集的实现
实时检测和分类交通标志。提供一个友好的用户界面,方便用户上传图片或视频进行检测。收集和显示检测结果,以便进行进一步分析。YOLO(You Only Look Once)是一种高效的目标检测算法,它能够在一次前向传播中同时进行目标定位和分类。YOLOv10是YOLO系列的最新版本,具有更好的检测精度和速度。本项目成功实现了基于YOLOv10的交通标志检测与识别系统。通过实时检测与分类,系统能够有效识别出各种交通标志,为智能交通应用提供支持。
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...
老版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 = ...
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
第八题:实现 strStr() 函数 来自《LeetCode》题库
第八题:简单题 实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。 当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。 来源:力扣(LeetCode) 链接:htt
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
Leetcode:strStr 实现 strStr() 函数
题目: 实现strStr()函数。 给你两个字符串haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回-1 。 说明: 当needle是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于本题而言,当needle是空字符串时我们应当返回 0 。这与 C 语言的strstr()以及 Java 的indexOf()定义相符。 ...
LeetCode——第28题:实现strStr()函数
题目: 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = “hello”, needle = “ll” 输出: 2 示例 2: 输入: haystack = “aaaaa”, ...
LeetCode(28):实现strStr() 函数
实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = “hello”, needle = “ll” 输出: 2 示例 2: 输入: haystack = “aaaaa”, needle = “bba...
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, ...
leetcode每日一题:实现 strStr() 函数
实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 脑子一闪,字符串内置方法indexOf()就是这个功能。 var strStr = function(haystack, needle) { return haystack.indexOf(needle) }; 备注:indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的
[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
leetcode 28:实现 strStr() 函数。
题目描述: 给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。 示例 1: 输入: haystack = "hello", needle = "ll" 输出: 2 解题思路: 方法一:子串逐一匹配 将长度为 L 的滑动窗口沿着 haystack 字符串逐步移动,并将窗口内的子串与 needle 字符串相比较,时间复杂度为O((N−L)L) class Soluti...
LeetCode初级算法之字符串:28 实现 strStr() 函数
01 题目信息 ...
开涮力扣:1.实现 strStr() 函数--2.反转字符串
1.实现strStr()函数。 给你两个字符串haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回-1 。 说明: 当needle是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于本题而言,当needle是空字符串时我们应当返回 0 。这与 C 语言的strstr()以及 Java 的indexOf()定义相符。 示例 1: 输入:ha...
【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 = ...
5323



被折叠的 条评论
为什么被折叠?



