Implement strStr()
問題簡介:實現方法strStr()
返回字符串haystack中第一次出現符合規則needle的索引,如果不包含這個規則字符串,則返回-1
舉例:
1:
輸入: haystack = “hello”, needle = “ll”
輸出: 2
2:
輸入: haystack = “aaaaa”, needle = “bba”
輸出: -1
如果這道題可以用正則表達式就會很輕松,可是leetcode里不支持

解法一:
將給定字符串haystack遍歷到第hsLength - ndLength + 1個值,這是一個臨界點,再往后剩余字符串長度小於needle的長度,也就沒必要遍歷了,用substring()方法截取與needle等長的字符串,兩者比較,有相等的結果返回索引,沒有返回-1

復雜度分析:
時間復雜度:o(n) 一層遍歷
空間復雜度:o(n) 在一層遍歷中定義n個字符串空間
注:
1.String的substring()方法中,第二個s是小寫,取值范圍是[0,n)左閉右開
2.String類中equals()已經被重寫,可以用來判斷字符串內容是否相等
小白刷題之路,請多指教— — 要么大器晚成,要么石沉大海

