242 有效的字母異位詞

2021-10-03 19:55:59 字數 1248 閱讀 4096

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

輸入: s =

"anagram"

, t =

"nagaram"

輸出:true

輸入: s =

"rat"

, t =

"car"

輸出:false

說明:

你可以假設字串只包含小寫字母。

高階:如果輸入字串包含 unicode 字元怎麼辦?你能否調整你的解法來應對這種情況?

原來網易校招面試題是出自這兒。

已經做過了就直接上思路。用hashmap。遍歷s,對於每個s中的字元進行計數。

遍歷t,對t中的每個字元進行反計數,如果減多了直接返回false。(方法一)

這題由於限定了小寫字母,因此可以設定乙個容量為26的陣列。通過char-'a』的方式確定放到**模擬了雜湊表,這樣能少寫點**。 (方法二)

class

solution

mapmap =

newhashmap

<

>()

;for

(int i =

0; i < s.

length()

; i++

)else

}for

(int i =

0; i < t.

length()

; i++

)else

if(map.

get(t.

charat

(i))

<1)

else

}return

true;}

}

class

solution

int[

] map =

newint[26

];for(

int i =

0; i < s.

length()

; i++

)for

(int i =

0; i < t.

length()

; i++

) map[t.

charat

(i)-

'a']--;

}return

true;}

}

242 有效的字母異位詞

給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true示例 2 輸入 s rat t car 輸出 false說明 你可以假設字串只包含小寫字母。class solution object def isa...

242 有效的字母異位詞

給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true 示例 2 輸入 s rat t car 輸出 false 說明 你可以假設字串只包含小寫字母。class solution def isanagra...

242 有效的字母異位詞

給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。輸入 s anagram t nagaram 輸出 true輸入 s rat t car 輸出 false方法1 類似雜湊 還是重複問題 首先需要明白題的意思,其實就是比較兩個字串中字母是否相同,在相同的情況下比較該字元...