[LeetCode]题解(python):028-Implement strStr()
2015-10-19 21:39
696 查看
[b]题目来源:[/b]
https://leetcode.com/problems/implement-strstr/
[b]题意分析:[/b]
输入两个字符串haystack和needle,如果needle是haystack的一个子串,那么返回这个子串在haystack出现的第一个位置,否则返回-1.
[b]题目思路:[/b]
这个题目是简单题,直接暴力解决就可以了。从i=0出发,如果遇到haystack[i] == needle[0],那么判断从这个出发能不能构成needle,如果可以则返回i。直到i到最后一个字符的长度小于needle的长度。如果前面没有返回值,那么返回-1.时间复杂度是(O((m - n) * n)).
[b]代码(python):[/b]
View Code
转载请注明出处:http://www.cnblogs.com/chruny/p/4893126.html
https://leetcode.com/problems/implement-strstr/
[b]题意分析:[/b]
输入两个字符串haystack和needle,如果needle是haystack的一个子串,那么返回这个子串在haystack出现的第一个位置,否则返回-1.
[b]题目思路:[/b]
这个题目是简单题,直接暴力解决就可以了。从i=0出发,如果遇到haystack[i] == needle[0],那么判断从这个出发能不能构成needle,如果可以则返回i。直到i到最后一个字符的长度小于needle的长度。如果前面没有返回值,那么返回-1.时间复杂度是(O((m - n) * n)).
[b]代码(python):[/b]
class Solution(object): def strStr(self, haystack, needle): """ :type haystack: str :type needle: str :rtype: int """ size1 = len(haystack) size2 = len(needle) if size2 == 0: return 0 if size1 < size2: return -1 i = 0 while i < size1: if size1 - i < size2: return -1 if haystack[i] == needle[0]: j = 1 while j < size2: if haystack[i + j] != needle[j]: break j += 1 if j == size2: return i i += 1 return -1
View Code
转载请注明出处:http://www.cnblogs.com/chruny/p/4893126.html
相关文章推荐
- Python爬虫入门-Beautiful Soup的用法
- python文件操作之文件读取方式
- python 字符串函数
- 解决python源代码中编码问题
- Python学习要点(0x00)
- python 获取星期几
- python 判断学期与学年
- Python下ORM的一个设计举例
- Python2.x与3.x版本区别
- python 去除不可见的控制字符
- 源码安装python
- Python下异步IO和协程简介
- Python中assert的用法
- python+Eclipse+pydev环境搭建
- python排序算法和实现
- Python技巧——list与字符串互相转换
- 定位 python image not found问题
- python字符串操作,以及截取对应的C#函数
- Python 在Visual studio 中做单元测试进行TDD开发
- 模拟登录新浪微博(Python) - 转