leetcode之路028 Implement strStr()
来源:互联网 发布:腾讯期货数据接口 编辑:程序博客网 时间:2024/05/18 22:10
题目大意:实现函数strstr(string haystack, string needle)。返回haystack中第一次出现needle的下标。注意是下标,从0开始的。
这个题目,可简单点做,直接循环遍历,可复杂度点,提高效率,即kmp算法。
思路一:
1、当needle长度为0,返回0。
2、令两个字符串长度为m,n,则外层循环m次,对haystack中每一个字符i开始进行判断是否匹配操作,即对haystack[i+q]和needle[q]进行比较,此即内层循环,最多循环n次,即此字符开始和needle相同。
若没有完全匹配,则回溯到位置i的下一个位置,再次进行匹配操作。
提交ac的代码如下,运行时间为8ms:
class Solution {public: int strStr(string haystack, string needle) {if(needle.empty()) //haystack.empty()&&return 0;int q;for(int i=0;i<haystack.length()-needle.length()+1;++i){q=0;while((i+q)<haystack.length()&&q<needle.length()&&haystack[i+q]==needle[q])++q;if(q==needle.length())return i;else if((i+q)==haystack.length())return -1;}return -1; }};
0 0
- leetcode之路028 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 028 Implement strStr()
- LeetCode 028 Implement strStr()
- [LeetCode]028-Implement strStr
- LeetCode 028 Implement strStr()
- LeetCode 028 Implement strStr()
- LeetCode-028 Implement strStr()
- Leetcode之Implement strStr() 问题
- leetcode 刷题之路 48 Implement strStr()
- LeetCode算法题之Implement strStr()
- 对老赵写的简单性能计数器的修改
- ecstore2.0虚拟环境的数据库配置
- facebook 登陆获取不到email
- python os.path模块常用方法详解
- Shiro学习(2)身份验证
- leetcode之路028 Implement strStr()
- 关于C++ const 的全面总结
- oc继承self,super的作用
- 通过MD5加密注册的密码
- 无题
- java面试题:第一行输出*#*#,第二行输出#*#*,以此类推
- java封装
- 杂谈PID控制算法
- ITOO3.1管理经验总结