LeetCode:Implement strStr()
来源:互联网 发布:mac压感 编辑:程序博客网 时间:2024/05/23 19:10
一、问题描述
Implement strStr().
Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
二、思路
方法一暴力求解,方法二KMP算法
三、代码
方法一:
class Solution {public: int strStr(string haystack, string needle) { if(haystack==""&&needle ==""|| needle =="") return 0; int i,j; for(i = 0,j = 0; i < haystack.size()&& j < needle.size();){ if(haystack[i] == needle[j]){ ++i; ++j; }else{ i = i - (j - 1); j = 0; } } return j != needle.size() ? -1 : i - j; }};
方法二:
class Solution {public: int strStr(string haystack, string needle) { if(needle.empty()) return 0; int i, j; // preprocess vector<int> b(needle.length() + 1, -1); i = 0; j = -1; b[0] = j; while(i < needle.length()){ while(j != -1 && needle[i] != needle[j]) j = b[j]; ++i, ++j; b[i] = j; } // find i = 0; j = 0; while(i < haystack.length()){ while(j != -1 && haystack[i] != needle[j]) j = b[j]; ++i, ++j; if(j == needle.length()) return i - j; } return -1; }};
0 0
- LeetCode: Implement strStr()
- [Leetcode] Implement strstr()
- Leetcode: Implement strStr
- [Leetcode] Implement strStr()
- LeetCode Implement strStr()
- 【leetcode】Implement strStr()
- [LeetCode]Implement strStr()
- [LeetCode] Implement strStr()
- [LeetCode] Implement strStr()
- LeetCode-Implement strStr()
- LeetCode: Implement strStr()
- LeetCode - Implement strStr()
- LeetCode: Implement strStr()
- 【leetcode】Implement strStr()
- Leetcode: Implement strStr()
- leetcode implement strStr
- LeetCode Implement strStr()
- LeetCode题解:Implement strStr()
- HDU 4305 Lighting(生成树计数+点在线段判断)
- (4.6.19)Android性能分析工具整理汇总
- redis info命令中各个参数的含义
- Spring Boot示例 - 2. 使用Spring Boot + Spring Data REST + Spring Data JPA构建符合HATEOAS规范的REST应用
- 聚类
- LeetCode:Implement strStr()
- HDFS安全模式详解
- PHP下载功能代码实现
- PHP 7.0 新特性
- C二叉树的基本操作---创建、遍历、求深度、求叶子结点
- 图像:模式与调整
- Java String
- Nginx+php-fpm 502 504问题
- Ubuntu12.04安装NVIDIA显卡驱动