zoukankan      html  css  js  c++  java
  • [LC] 28. Implement strStr()

    Implement strStr().

    Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.

    Example 1:

    Input: haystack = "hello", needle = "ll"
    Output: 2
    

    Example 2:

    Input: haystack = "aaaaa", needle = "bba"
    Output: -1
    

    Clarification:

    What should we return when needle is an empty string? This is a great question to ask during an interview.

    For the purpose of this problem, we will return 0 when needle is an empty string. This is consistent to C's strstr() and Java's indexOf().

     
    Time: O(M * N)
    class Solution(object):
        def strStr(self, haystack, needle):
            """
            :type haystack: str
            :type needle: str
            :rtype: int
            """
            if not needle:
                return 0
            if not haystack:
                return -1
            len_haystack, len_needle = len(haystack), len(needle)
            for i in range(0, len_haystack - len_needle + 1):
                cur = haystack[i]
                if cur == needle[0]:
                    j = 0
                    while j < len_needle:
                        if haystack[i + j] != needle[j]:
                            break
                        j += 1
                    if j == len_needle:
                        return i
            return -1
                
            
  • 相关阅读:
    机器人
    仙岛求药(一)
    YZM 二分查找
    珠心算测验升级版
    博客正在施工
    【其他】16年12月博客阅读索引^_^
    博客有新家了!
    POJ No.3617【B008】
    POJ No.2386【B007】
    【刷题记录】部分和问题
  • 原文地址:https://www.cnblogs.com/xuanlu/p/11829275.html
Copyright © 2011-2022 走看看