1. 程式人生 > >LeetCode28 實現strStr() Python3

LeetCode28 實現strStr() Python3

實現 strStr() 函式。

給定一個 haystack 字串和一個 needle 字串,在 haystack 字串中找出 needle 字串出現的第一個位置
(從0開始)。如果不存在,則返回 -1。

示例 1:

輸入: haystack = “hello”, needle = “ll” 輸出: 2 示例 2:

輸入: haystack = “aaaaa”, needle = “bba” 輸出: -1 說明:

當 needle 是空字串時,我們應當返回什麼值呢?這是一個在面試中很好的問題。

對於本題而言,當 needle 是空字串時我們應當返回 0 。這與C語言的 strstr() 以及 Java的 indexOf()
定義相符。

class Solution:
    def strStr(self, haystack, needle):
        """
        :type haystack: str
        :type needle: str
        :rtype: int
        """
        if not needle:
            return 0
        else:
            if needle in haystack:
                for i in range(len(haystack)):
                    if haystack[i:i+len(needle)] == needle:
                        return i
            else:
                return -1