字母異位詞

2021-10-03 23:42:27 字數 1077 閱讀 3874

描述

給定兩個字串 s 和 t ,編寫乙個函式來判斷 t 是否是 s 的字母異位詞。

示例 1:

輸入: s = 「anagram」, t = 「nagaram」

輸出: true

示例 2:

輸入: s = 「rat」, t = 「car」

輸出: false

思路和**

思路1:雜湊

class

solution

;int lens = s.

size()

;int lent = t.

size()

;if(lens != lent)

return

false

;for

(int i=

0; i)for

(int i=

0; i<

26; i++

)return

true;}

};

更簡潔的**思路如下:

直接給s和t排序,直接判斷排序後相等不相等。當然這一種時間效率遠不如上面,因為排序很消耗時間。

class

solution

};

描述

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

示例:輸入: [「eat」, 「tea」, 「tan」, 「ate」, 「nat」, 「bat」],

輸出:[

[「ate」,「eat」,「tea」],

[「nat」,「tan」],

[「bat」]

]思路和**

這一題比上一題難,但是方法是類似的,用雜湊表來存字母異位詞相同的那些單詞。

class

solution

vector> ans;

for(

auto i : res)

ans.

push_back

(i.second)

;return ans;}}

;

字母異位詞

字母異位詞分組 給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 方法一 排序陣列分類 維護乙個對映,key為字串中字元的最小字典序,value為排...

字母異位詞分組

超出時間限制 依次遍歷陣列中每乙個字串,與list中每乙個templist中的第乙個進行對比,如果長度不相等即為不合格,如果list走到了結尾,字串肯定不包含與list中,新增成為list中新的一員。如果與templist中一樣則為新增為templist中一員 但是超出時間限制 public lis...

字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 思路 遍歷string陣列,對每個string排序,然後以鍵形式存入雜湊表中,雜湊表鍵為排序後的stri...