package easy;
import java.util.Arrays;
public class LC_28_strStr {public static int strStr(String haystack, String needle) {
if (needle.equals(""))
return 0;
int[] py=new int[needle.length()+3];
Arrays.fill(py, 0);
for (int i=0;
i=0;
j--)
{
if (needle.charAt(j)==needle.charAt(i))
{
py[i]=i-j;
break;
}
}
for (int i=0;
i=haystack.length()) break;
;
}
return -1;
}
public static void main(String[] args) {
System.out.println(LC_28_strStr.strStr("hello", "ll"));
System.out.println(LC_28_strStr.strStr("aaaaa", "bba"));
System.out.println(LC_28_strStr.strStr("aaa", "aaaa"));
}}
【LeetCode28 实现strStr】额,我实现的程序运行效率确实明显还有改进空间。。官方解答还没看。
排名靠前的同学居然直接用的indexOf,这。。。。足够说明了jdk本身实现的强大,不说了,去看下jdk的实现
推荐阅读
- 数据结构与算法|【算法】力扣第 266场周赛
- leetcode|今天开始记录自己的力扣之路
- Python|Python 每日一练 二分查找 搜索旋转排序数组 详解
- 【LeetCode】28.实现strstr() (KMP超详细讲解,sunday解法等五种方法,java实现)
- LeetCode-35-搜索插入位置-C语言
- leetcode python28.实现strStr()35. 搜索插入位置
- Leetcode Permutation I & II
- python|leetcode Longest Substring with At Most Two Distinct Characters 滑动窗口法
- LeetCode 28 Implement strStr() (C,C++,Java,Python)
- Python|Python Leetcode(665.非递减数列)