Leetcode 28. 实现 strStr()
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 28. 实现 strStr()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原題鏈接
解:KMP算法
class Solution { public:int strStr(string s, string p) {if (p.empty()) return 0;int n = s.size(), m = p.size();s = ' ' + s, p = ' ' + p;vector<int> next(m + 1);for (int i = 2, j = 0; i <= m; i ++ ) {while (j && p[i] != p[j + 1]) j = next[j];if (p[i] == p[j + 1]) j ++ ;next[i] = j;}for (int i = 1, j = 0; i <= n; i ++ ) {while (j && s[i] != p[j + 1]) j = next[j];if (s[i] == p[j + 1]) j ++ ;if (j == m) return i - m;}return -1;} };?
總結
以上是生活随笔為你收集整理的Leetcode 28. 实现 strStr()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux的虚拟机安装(linux的虚拟
- 下一篇: ddos攻击的成本(DDOS攻击的代价)