leetcode 49 字母異位詞分組

2021-10-02 23:20:46 字數 770 閱讀 7577

這個題目我是直接看的答案,其實考察的就是我們如何來表達兩個詞確實是異位詞:

所以我們主要還是從第二點出發。如下

1. 將字串中字元排序重組

這個思路就是對於乙個字串裡的所有字元進行排序然後重組,那異位詞肯定是相同的。**如下:

class

solution

return

newarraylist

(ans.

values()

);//有乙個方法,是map.values()

}}

2.將每個字元的次數記錄下來,組成乙個唯一的字串

也就是說例如bcb的次數可以記為[0,2,1,…],而cbb的次數也可以[0,2,1,…],這樣他們就相等了,**如下:

class

solution

string key = sb.

tostring()

;//同樣根據這個字串去字典裡找if(

!ans.

containskey

(key)

) ans.

put(key,

newarraylist()

);ans.

get(key)

.add

(s);

}return

newarraylist

(ans.

values()

);}}

答案參考的是leetcode官方題解,但思路上不算難。

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 說明 此題輸入的是乙個字串陣列,遍歷該陣列,然後將每個字串排序,排序後的字串作為 鍵 存入雜湊表,對應的...