当前位置:网站首页>实现strStr() II
实现strStr() II
2022-07-02 06:19:00 【沙子是沙子】
给定一个 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() 定义相符。
解决方法:
算法思想:
原strstr()函数。
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
KMP算法。
参考:
http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html
C++代码:
边栏推荐
- 数据科学【九】:SVD(二)
- Data playback partner rviz+plotjuggler
- LeetCode 78. 子集
- Little bear sect manual query and ADC in-depth study
- Hydration failed because the initial UI does not match what was rendered on the server.问题原因之一
- Singleton mode compilation
- LeetCode 83. 删除排序链表中的重复元素
- ShardingSphere-JDBC篇
- Zhuanzhuanben - LAN construction - Notes
- CUDA用户对象
猜你喜欢
Compte à rebours de 3 jours pour l'inscription à l'accélérateur de démarrage Google Sea, Guide de démarrage collecté à l'avance!
Classic literature reading -- deformable Detr
Monitoring uplink of VRRP
深入学习JVM底层(四):类文件结构
日志(常用的日志框架)
Sumo tutorial Hello World
500. Keyboard line
递归(迷宫问题、8皇后问题)
广告业务Bug复盘总结
稀疏数组(非线性结构)
随机推荐
Codeforces Round #797 (Div. 3) A—E
Redis——Cluster数据分布算法&哈希槽
TensorRT的数据格式定义详解
Eco express micro engine system has supported one click deployment to cloud hosting
Learn about various joins in SQL and their differences
LeetCode 47. Full arrangement II
LeetCode 78. subset
利用NVIDIA GPU将Minecraft场景渲染成真实场景
Pbootcms collection and warehousing tutorial quick collection release
【张三学C语言之】—深入理解数据存储
Golang -- map capacity expansion mechanism (including source code)
浅谈三点建议为所有已经毕业和终将毕业的同学
TensorRT的功能
标签属性disabled selected checked等布尔类型赋值不生效?
一口气说出 6 种实现延时消息的方案
Browser principle mind map
LeetCode 83. Delete duplicate elements in the sorting linked list
Little bear sect manual query and ADC in-depth study
链表(线性结构)
CUDA用户对象