體驗:
Implement strStr().
Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
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().
Example 1:
Input: haystack = "hello", needle = "ll"
Output: 2
Example 2:
Input: haystack = "aaaaa", needle = "bba"
Output: -1
Example 3:
Input: haystack = "", needle = ""
Output: 0
Constraints:
0 <= haystack.length, needle.length <= 5 * 104
haystack and needle consist of only lower-case English characters.
思路:
題目說 C 用 strstr()
Java用 indexOf()
阿我是用 Python3 寫,我用 s1.index().s2,也就是說
haystack.index(needle)。
而 在 haystack 中 找不到 needle 時 , 按原本方式:直接 return 答案,會 Compile Error。
所以 多個 try... exception...
在 exception 的部分 某種程度上 就是 找不到時會進的區塊。
class Solution:
def strStr(self, haystack: str, needle: str) -> int:
try:
return haystack.index(needle)
except:
return -1