LeetCode 字串系列(子串)

2021-07-31 09:48:24 字數 476 閱讀 5318

30. substring with concatenation of all words

題目:在s找到所有words中所有字串串起來的子字串(包括words中所有字串)的起始位置

思路:參考了別人的解法,but超時,記錄一下。將words中的所有單詞建乙個hashmap,單詞和出現次數。每次新建乙個cp複製前面的hashmap,擷取words總長度子串,在cp中能找到就移除或次數減1,遍歷完看cp是否為空,為空則加到list中。簡單粗暴的解法,但是複雜度高。

public class solution 

for(int i = 0; i <= s_len-w_len*w0_len; i++)

else

}else

}if(cp.isempty()) ret.add(i);

}return ret;

}}

two pointer——

LeetCode 字串系列(匹配)

28.implement strstr 題目 實現strstr 函式,即找到目標字串首次出現的位置。思路 利用substring函式,用equals直接判斷,簡單粗暴,好像也不是很慢。需要注意兩者均為空的情況。public class solution return 1 附上按位比較的方法,以及還有...

LeetCode 字串系列(Anagram)

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

LeetCode 字串 反轉字串

反轉字串 編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列char的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列 使用 o 1 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。示例 1 輸入 h e l l o 輸出 o l ...