28. 实现strStr() (双指针)
2024-09-01 18:43:28
实现 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/**
2 * @param {string} haystack
3 * @param {string} needle
4 * @return {number}
5 */
6
7var strStr = function (haystack, needle) {
8 // if (haystack == null || needle == null) return 0
9 if (needle.length == 0) return 0
10
11 for (let i = 0; i < haystack.length; i++) {
12 let m = i
13 if (m + needle.length > haystack.length) return -1
14
15 for (let j = 0; j < needle.length; j++) {
16 if (needle[j] == haystack[m]) {
17 if (j == needle.length - 1) return i
18 m++
19 } else {
20 break
21 }
22 }
23 }
24 return -1
25}
最新文章
- Oracle连接与会话
- sql server 查找包含字符串的对象
- 多线程学习之AsyncOperation实现线程间交互
- SQL Server2008新特性Filesteam的使用
- Ubuntu忘记管理员密码
- iOS中date和string的相互转换
- Could not load type &#39;System.ServiceModel.Activation.HttpModule&#39; from assembly &#39;System.ServiceModel, Version=3.0.0.0,";解决办法
- npm ERR! code EINTEGRITY npm! ERR! shal-
- git for windows 本地仓库
- CentOS7 源码编译安装Tengine
- Django(十三)ajax 与 Bootstrap,font-awesome
- spring cloud(学习笔记) Enreka服务治理
- 解决ubuntu 14.04 “E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)”的问题
- linux普通用户使用1024以下的端口(80)
- android处理Back键Home键和Menu键事件(转)
- 014-HQL中级4-Hive中的三种不同的数据导出方式介绍
- js中,“\”转义字符的使用
- zip4j之加压解压
- VS2017安装错误:工作负荷不完整,未能安装包“sqlcmdlnutils,version=15.1.61703.130,chip=x64,language=zh-CN”。
- PowerDesigner 将表的字段name属性设置到comment凝视
热门文章
- 用PHP+Redis实现延迟任务,实现自动取消订单
- hdu 1083 Courses (最大匹配)
- 力扣(LeetCode)平方数之和 个人题解
- 力扣(LeetCode)位1的个数 个人题解
- 前端页面传来数组,后台用对象集合list接收数据的写法
- HTML学习 day02
- 在idea中使用git
- Receptive Field Block Net for Accurate and Fast Object Detection
- 剑指Offer-32.丑数(C++/Java)
- Log4net 使用汇总(网络收集整理)