LeetCode 28. Implement strStr()
2017-07-05 17:37
375 查看
28. Implement strStr()
一、问题描述
Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
二、输入输出
三、解题思路
转换成:判断两个字符串prefix是否相同单独处理两个字符串都为空的情况。然后当needle比haystack长的时候,不可能包含,返回-1
之后从0开始遍历haystack,取haystack的prefix,
prefix string =haystack [i, i + needle.size()]也就是从i开始取,一共取出needle.size()个字符(包括index i位置的)。然后和needle进行比较,如果相同就返回i 如果不同就继续比较。
注意判断的退出条件,
i + needle.size() <= n有等号
class Solution { public: int strStr(string haystack, string needle) { if(haystack.size() == 0 && needle.size() == 0)return 0; if(haystack.size() < needle.size())return -1; int i = 0, n = haystack.size(); for (i = 0; (i+needle.size()) <= n; ++i) { if(needle == haystack.substr(i, needle.size())) return i; } return -1; } };
相关文章推荐
- 算法作业HW27:LeetCode 28. Implement strStr()
- leetcode 28. Implement strStr()
- 28. Implement strStr() LeetCode
- 【Leetcode】28. Implement strStr()
- [Leetcode]28. Implement strStr()
- LeetCode 28. Implement strStr()
- leetcode_28. Implement strStr() 字符串模式匹配,返回匹配的首字符位置
- leetcode 28. Implement strStr() (java实现)
- leetcode 28. Implement strStr()
- leetcode刷题记录-28. Implement strStr()
- leetcode 28. Implement strStr() 三种解法
- LeetCode 28. Implement strStr()
- 小白笔记-----------------------leetcode(28. Implement strStr())
- leetcode 28. Implement strStr()
- LeetCode - 28. Implement strStr()
- leetcode 28. Implement strStr()
- Leetcode 28. Implement strStr() (Easy) (cpp)
- 【C++】【LeetCode】28. Implement strStr()
- [置顶] 【leetcode】28. Implement strStr()(Python & C++)(KMP算法)
- leetcode 28. Implement strStr() KMP 算法