Leetcode做题日记:28. 实现strStr()(PYTHON)
2018-12-29 17:17
716 查看
实现 strStr() 函数。
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
示例 1:
输入: haystack = “hello”, needle = “ll”
输出: 2
示例 2:
输入: haystack = “aaaaa”, needle = “bba”
输出: -1
第一次的代码,只击败27.76%
上来先把h n打上来,可以少打很多字母,前面几个if 是为了判断几个特殊的例子。遍历h,如果发现和n中第一个字母相同的字母,标记为i,则表明有可能再h中存在n,所以开始从i开始到n的长度的字符串依次比较,如果都相同就满足题意,不相同就i=i+1
其实关于i的迭代,我最初的想法是
i=i+j
即如果这个片段不是的话,i从下一段开始,但是万一n是‘ippip…’,就会错过
h=haystack n=needle L1=len(h) L2=len(n) i=0 j=0 if L1==0 and L2==0: return 0 if L1<L2 : return -1 if L2==0: return 0 while i <L1: if h[i]== n[0] : while j<L2: if i+j==L1:#如果h都到头了还没找完n,返回-1 return -1 if h[i+j] !=n[j]: break j=j+1#判断相符的个数 if j==L2: return i j=0 #写在最后也行,然后i=i+1 i=i+j+1 return -1
相关文章推荐
- LeetCode 28 实现strStr() Python
- leetcode的python实现 刷题笔记28:实现strStr()
- LeetCode 28 Implement strStr() (实现找子串函数)
- 28. 实现strStr()Leetcode
- LeetCode 28 Implement strStr() (C,C++,Java,Python)
- Leetcode做题日记:34. 在排序数组中查找元素的第一个和最后一个位置(PYTHON)
- Leetcode做题日记:38. 报数(PYTHON)
- LeetCode 28 Implement strStr()(实现strStr()函数)
- Leetcode做题日记:51. N皇后(PYTHON)
- LeetCode - 28. 实现strStr()
- Leetcode做题日记:46. 全排列(PYTHON)
- Leetcode做题日记:59. 螺旋矩阵 II(PYTHON)
- LeetCode 28. 实现strStr()
- 【LeetCode】28 实现strSTR()
- Leetcode做题日记:44. 通配符匹配(PYTHON)
- Leetcode做题日记:39. 组合总和(PYTHON)
- Leetcode 28:实现strStr() indexOf()(Implement strStr() indexOf())
- Leetcode做题日记:55. 跳跃游戏(PYTHON)
- Leetcode做题日记:29. 两数相除(PYTHON)
- Leetcode做题日记:47. 全排列 II(PYTHON)