实现 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}

最新文章

  1. Oracle连接与会话
  2. sql server 查找包含字符串的对象
  3. 多线程学习之AsyncOperation实现线程间交互
  4. SQL Server2008新特性Filesteam的使用
  5. Ubuntu忘记管理员密码
  6. iOS中date和string的相互转换
  7. Could not load type &#39;System.ServiceModel.Activation.HttpModule&#39; from assembly &#39;System.ServiceModel, Version=3.0.0.0,&quot;解决办法
  8. npm ERR! code EINTEGRITY npm! ERR! shal-
  9. git for windows 本地仓库
  10. CentOS7 源码编译安装Tengine
  11. Django(十三)ajax 与 Bootstrap,font-awesome
  12. spring cloud(学习笔记) Enreka服务治理
  13. 解决ubuntu 14.04 “E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)”的问题
  14. linux普通用户使用1024以下的端口(80)
  15. android处理Back键Home键和Menu键事件(转)
  16. 014-HQL中级4-Hive中的三种不同的数据导出方式介绍
  17. js中,“\”转义字符的使用
  18. zip4j之加压解压
  19. VS2017安装错误:工作负荷不完整,未能安装包“sqlcmdlnutils,version=15.1.61703.130,chip=x64,language=zh-CN”。
  20. PowerDesigner 将表的字段name属性设置到comment凝视

热门文章

  1. 用PHP+Redis实现延迟任务,实现自动取消订单
  2. hdu 1083 Courses (最大匹配)
  3. 力扣(LeetCode)平方数之和 个人题解
  4. 力扣(LeetCode)位1的个数 个人题解
  5. 前端页面传来数组,后台用对象集合list接收数据的写法
  6. HTML学习 day02
  7. 在idea中使用git
  8. Receptive Field Block Net for Accurate and Fast Object Detection
  9. 剑指Offer-32.丑数(C++/Java)
  10. Log4net 使用汇总(网络收集整理)