Leetcode刷题记(10)—实现strStr

题目要求:

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

题解:

对String类的用法如果熟悉的话可以直接使用其中的isEmpty方法和indexOf(String str)方法;

刚开始做的时候脑子太不清醒了,直接上去实现了,根本忘了String类的常用方法,还在嵌套循环,最可怕的是最后不报错,直接超出时间限制......

贴上代码求大佬指点

 嘤嘤嘤自己真是个小垃圾,continue和break的用法都弄错了......

而且自己的思路最大的一个漏洞是:匹配的子字符在原字符中可能不是连贯的,会有间隔。

使用String类中的substring()方法可以减少一层循环。

提交了好几次,每次都有少考虑的地方,最终正确码下:

 另外经典的暴力求解与KMP算法:可以参考大佬的一篇博客:https://www.cnblogs.com/ZuoAndFutureGirl/p/9028287.html

原文地址:https://www.cnblogs.com/wangjm63/p/11494100.html