博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
golang刷Leetcode系列 --- 实现strStr()
阅读量:7044 次
发布时间:2019-06-28

本文共 848 字,大约阅读时间需要 2 分钟。

实现  函数。

给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回  -1。

示例 1:

输入: haystack = "hello", needle = "ll"输出: 2

示例 2:

输入: haystack = "aaaaa", needle = "bba"输出: -1

说明:

当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。

对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的  以及 Java的  定义相符。

解答

这道题不是太难,简单的暴力匹配就好。

package mainimport (	"fmt")func strStr(haystack string, needle string) int {	index := -1	var i, j, k int	if len(needle) == 0 {		index = 0	}	for i = 0; i < len(haystack); i++ {		for j, k = 0, i; j < len(needle) && k < len(haystack); j, k = j+1, k+1 {			if needle[j] != haystack[k] {				//不匹配,退出循环				break			}		}		if j == len(needle) {			//匹配完成,退出循环			index = i			break		}	}	return index}func main() {	haystack := "aaa"	needle := "a"	fmt.Println(strStr(haystack, needle))}

  

 

转载于:https://www.cnblogs.com/dennis-wong/p/9532299.html

你可能感兴趣的文章
CCF201604-3 路径解析(100分)
查看>>
HDU1879 继续畅通工程
查看>>
一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之调整首页显示...
查看>>
初学python之,IDLE安装
查看>>
手动创建SQL_profile 改变和稳定 SQL 执行计划
查看>>
8.1数码相框功能及程序框架
查看>>
【leetcode】155 - Min Stack
查看>>
Linux常用基本命令(笔记)
查看>>
阿姆斯特朗数
查看>>
“将偷懒进行到极致!”——EasyCode.Net代码生成器图文评测
查看>>
JavaScript 变量提升
查看>>
mysql实现递归查询
查看>>
【Django笔记二】Django2.0配置模板和静态文件
查看>>
jsonp
查看>>
元素的属性及分析
查看>>
Ajax中location.href无法跳转的解决办法
查看>>
fedora23没有/var/log/messages &如何禁用后台自动更新软件?
查看>>
Linux基础_软链接,硬链接
查看>>
Java-枚举类,注解
查看>>
MySQL 的Coalesce函数
查看>>