本題參考力扣題解寫的理解思路,原文請參照力扣官網242題
題目:
給定兩個字串 s 和 t ,編寫乙個函式來判斷 t 是否是 s 的字母異位詞。
示例 1:
輸入: s = 「anagram」, t = 「nagaram」
輸出: true
示例 2:
輸入: s = 「rat」, t = 「car」
輸出: false
說明:你可以假設字串只包含小寫字母。
高階:如果輸入字串包含 unicode 字元怎麼辦?你能否調整你的解法來應對這種情況?
法一:arrays工具類的使用
class
solution
char
str1 = s.
tochararray()
;char
str2 = t.
tochararray()
; arrays.
sort
(str1)
; arrays.
sort
(str2)
;boolean flag = arrays.
equals
(str1,str2)
;return flag;
}}
這個工具類的使用就是先把字串全部轉換,賦值複製一組副本到新的字元陣列中
方法二:
雜湊表
public
class
isanagram
int[
] table =
newint[26
];for(
int i =
0; i < s.
length()
; i++
)for
(int i =
0; i < t.
length()
; i++)}
return
true;}
public
static
void
main
(string[
] args)
}
這個方法的意思就是,我們建立乙個雜湊表table,裡面代表著26個英文本母,我們s中乙個字母出現一次,我們就在相應的位置+1,反過來t就是減一,出現負數,那就說明,a中沒有出現那個位置對應的字母
初級演算法 有效字母的異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true 示例 2 輸入 s rat t car 輸出 false 說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你能否...
58 有效字母的異位詞
我的思路 其實這道題就是看字母的種類和個數一致還是不一致,如果一致那麼就是true否則就是false,這樣就可以把 擼出來了,這裡的這句話 t是否是s的乙個字母異位詞,意思應該是 可能不止乙個單詞異位,否則這個解法是有問題的。class solution if s.equals t int s1 n...
leetcode242 有效字母異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。輸入 s anagram t nagaram 輸出 true 輸入 s rat t car 輸出 false 分別建立雜湊表,然後給對應位置的字母計數,get函式中的0是預設值,當元素不存在時,初始化為0 第二個做法是自己建...