LeetCode242 有效的異位詞

2021-09-29 03:00:32 字數 1140 閱讀 3645

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

示例 1:

輸入: s = "anagram", t = "nagaram"

輸出: true

示例 2:

輸入: s = "rat", t = "car"

輸出: false

說明:

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

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

解法一:將兩個字串排序,然後比較。時間複雜度 o(nlogn)

public

boolean

isanagram

(string s, string t)

char

str1 = s.

tochararray()

;char

str2 = t.

tochararray()

; arrays.

sort

(str1)

; arrays.

sort

(str2)

;return arrays.

equals

(str1, str2)

;}

解法二:計數,在只有小寫字母的情況下只需要乙個容量為26的陣列,先遍歷字串,對於第乙個字串**現的字母將對應位置加一,第二個字串**現的字母對應位置減一,如果最後陣列內均為0,則為異位詞。

時間複雜度o(n)

public

boolean

isanagram

(string s, string t)

int[

] table =

newint[26

];for(

int i =

0; i < s.

length()

; i++

)for

(int i =

0; i < t.

length()

; i++)}

return

true

;}

Leetcode 242 有效的字母異位

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

LeetCode 242 有效的字母異位

給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你能否調整你的解法來應對這種情況?思路 兩個字串長度不等,則不滿足。兩個字串相等,則滿足。定義兩個陣列,分別記錄s和t中每個字母出現的次...

LeetCode242有效的字母異位詞

給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。例如,s anagram t nagaram 返回 true s rat t car 返回 false 注意 假定字串只包含小寫字母。兩個int型陣列,sarray和tarray,來儲存s和t字串中的字元情況,a對應陣列...