28. Implement strStr()(重要!)
来源:互联网 发布:深入理解linux内核4.4 编辑:程序博客网 时间:2024/05/22 09:32
Implement strStr().
Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
注意needle为“”返回的是0.
一定要熟悉KMP算法!
class Solution {public:int strStr(string haystack, string needle) {int lenn = needle.size();int lenh = haystack.size();if (lenn == 0){return 0;}if (lenn > lenh){return -1;}vector<int> next(lenn);makeNext(needle, next);int k = 0;for (int i = 0; i < lenh; i++){//i=0while (k>0 && haystack[i] != needle[k]){k = next[k - 1];}if (haystack[i] == needle[k]){k++;}if (k == lenn){return i - k + 1;}}return -1;}private:void makeNext(string needle, vector<int>&next){int len = needle.size();next[0] = 0;int k = 0;//for (int i = 1; i < len; i++){//i=1;while (k>0&&needle[i] != needle[k]){k = next[k - 1];}if (needle[i] == needle[k]){k++;//}next[i] = k;}}};
0 0
- 28. Implement strStr()(重要!)
- 28. Implement strStr()(64.79%)
- Leetcode:28. Implement strStr()(JAVA)
- (Java)LeetCode-28. Implement strStr()
- 28. Implement strStr()(String字符串匹配)
- leetcode 28. Implement strStr() (java实现)
- [LeetCode]28.Implement strStr()
- LeetCode --- 28. Implement strStr()
- LeetCode 28.Implement strStr()
- [Leetcode] 28. Implement strStr()
- 28. Implement strStr()
- 【leetcode】28. Implement strStr()
- [leetcode] 28.Implement strStr()
- Leetcode-28.Implement strStr()
- 28. Implement strStr()
- 28. Implement strStr()
- 28. Implement strStr()
- 28. Implement strStr() LeetCode
- 【Cocos Creator 基础教程(其他)】——游戏素材资源获取方法
- 关于java高并发的一些感悟和经验已经我自己找的资料
- Cocos2d-x Json读写
- PinnedSectionListView详细介绍(android开源项目)
- Head First Java笔记(二)
- 28. Implement strStr()(重要!)
- Android自定义View杂记
- 弹出层插件Avgrund的使用
- NodeJS学习历程(4)
- hdu 5064 Find Sequence(DP,单调性优化)
- 素数--北航200年机试
- 三条线_纪中_2929_最大匹配
- bjoi2016题解<不断更新<毕竟自己弱嘛TAT>>
- 支付宝接入中踩了个小坑