Problem 28: Implement strStr()
思路
这道题很多解法,官方解法虽然嗯简单,但是用了很多 java 的函数在里面。这里用的双指针法应该是从根本上解决问题
易错点
判断是否有子串
循环完之后,j 是length() - 1 的,但是跳出循环之前还得再判断一次!这次的时候,j == length() - 1。
循环 haystack 的时候,是在 i 的基础上,i + j
第一次出现是说第一次出现的“开头”,所以返回的是 i
corner cases
按理说 i 循环到
i < haystack.length()
就可以了,但是,如果两个字符串都是空集的时候,就会报错了。因为没有循环到空字符串,直接跳出,返回 -1
Last updated