描述
給定兩個字串 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...