Leetcode49 字母異位詞分組 C

2021-08-29 16:10:58 字數 800 閱讀 1803

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。

示例:

輸入: ["eat", "tea", "tan", "ate", "nat", "bat"],

輸出:[

["ate","eat","tea"],

["nat","tan"],

["bat"]

]

說明:

所有輸入均為小寫字母。

不考慮答案輸出的順序。

本題要求將字母相同,排序不同的元素加在乙個vector中。這一點一開始不太好想。

思路是這樣的:每個元素都是string型別的,那麼就可以排序,元素相同,那麼排序之後也是相同的。由此解決了判斷問題。那麼採用什麼樣的方式來解決這個問題呢?這個問題適合使用hash table來實現。**如下:

class solution {

public:

vector> groupanagrams(vector& strs) {

vector> res;

if(strs.empty()) return res;

map> m;

for(decltype(strs.size()) i=0;i參考:

將資料對應全部存入乙個map之後,如何將資料取出放到乙個vector中?

map包含了兩個值,乙個是鍵值,乙個是value。這樣乙個資料結構,可以通過first和second介面來訪問資料。

例如:m.first m->fisrt來獲取map的鍵值

m.second m->second來獲取map的value

LeetCode49 字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。設定乙個map向量,專門用來統計字串中,所有字元出現的...

LeetCode 49 字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。這道題的意思就是把含有相同字母的單詞歸類而已,思路其實...

LeetCode 49 字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 此題輸入的是乙個字串陣列,遍歷該陣列,然後將每個字串排序,排序後的字串作為 鍵 存入雜湊表,對應的...