28. Find the Index of the First Occurrence in a String

개굴·2024년 6월 4일

leetcode

목록 보기
20/51
  • python3

Problem

Given two strings needle and haystack, return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.

Example 1:

Input: haystack = "sadbutsad", needle = "sad"
Output: 0
Explanation: "sad" occurs at index 0 and 6.
The first occurrence is at index 0, so we return 0.

Example 2:

Input: haystack = "leetcode", needle = "leeto"
Output: -1
Explanation: "leeto" did not occur in "leetcode", so we return -1.

Constraints:

  • 1 <= haystack.length, needle.length <= 104
  • haystack and needle consist of only lowercase English characters.

Pseudocode

  1. Loop through the main string, stopping at a position where the remaining length is less than the length of the target substring.
  2. Within the loop, compare the substring starting at the current position and spanning the length of the target substring to the target substring.
  3. If a match is found, return the current position immediately; if no match is found by the end of the loop, return -1.

Code

class Solution:
    def strStr(self, haystack: str, needle: str) -> int:
        
        for i in range(len(haystack)-len(needle)+1):
            if haystack[i:i+len(needle)] == needle:
                return i
        
        return -1

Result

profile
알쏭달쏭혀요

0개의 댓글