LeetCode 字串系列(匹配)

2021-07-31 09:42:01 字數 701 閱讀 8116

28. implement strstr()

題目:實現strstr()函式,即找到目標字串首次出現的位置。

思路:利用substring函式,用equals直接判斷,簡單粗暴,好像也不是很慢。需要注意兩者均為空的情況。

public class solution 

return -1;

}}

附上按位比較的方法,以及還有kmp演算法,這個以後補充吧。

public int strstr(string haystack, string needle) 

}}

459. repeated substring pattern

題目:判斷輸入字串是否是某個子字串重複若干次的結果。

思路:按照28題的思路,子字串的長度從1到輸入串長度的一半,分別判斷在每個長度下是否滿足要求,不滿足跳出。這裡需要注意輸入串長度能被子字串整除,這個判斷可以節省很多時間。

public class solution 

else break;

}if(count == s.length()/i) return true;

}return false;

}}

其他人的解法有大同小異的,也有kmp演算法,這裡不補充了。

LeetCode 字串系列(子串)

30.substring with concatenation of all words 題目 在s找到所有words中所有字串串起來的子字串 包括words中所有字串 的起始位置 思路 參考了別人的解法,but超時,記錄一下。將words中的所有單詞建乙個hashmap,單詞和出現次數。每次新建乙...

LeetCode 字串系列(Anagram)

49.group anagrams 題目 將輸入字串組按組成分類,輸出分類好的字串組 思路 hashmap 設定hashmap,key為每類字串按公升序排列,value為該類所有字串 list 對於輸入的每個字串,進行字元陣列轉換,再進行排序,然後轉換回字串,如果hashmap中不包含該類字串,就建...

leetcode 增減字串匹配 C

給定只含 i 增大 或 d 減小 的字串s,令n s.length。返回 0,1,n 的任意排列a使得對於所有i 0,n 1,都有 示例 1 輸出 idid 輸出 0,4,1,3,2 示例 2 輸出 iii 輸出 0,1,2,3 示例 3 輸出 ddi 輸出 3,2,0,1 1 s.length 1...