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