leetcode 242. 有效的字母異位詞
給定兩個字符串 s 和 t ,編寫一個函數來判斷 t 是否是 s 的一個字母異位詞。
示例 1:
輸入: s = "anagram", t = "nagaram"
輸出: true
復制代碼
示例 2:
輸入: s = "rat", t = "car"
輸出: false
復制代碼
說明: 你可以假設字符串只包含小寫字母。
這道題比較容易一些,hash記憶化即可。當然了,這道題只會出現小寫字母,那么我們用一個數組就能解決。
?:
func isAnagram(s string, t string) bool {//兩個字符串都不一樣長了肯定不對啦if len(s) != len(t) {return false}//數組,也是特殊的hash手段哦b := make([]int, 26)for _, r := range s {b[r-'a']++}for _, r := range t {b[r-'a']--if b[r-'a'] < 0 {return false}}//這一步在這道題里完全沒有必要~因為先保證了兩個字符串必須一樣長,那么在上一步就可以把所有不滿足的情況剔除了,但是還是加上這一步吧,畢竟在其他的題目里可能用到哦~for _, v := range b {if v != 0 {return false}}return true
}
復制代碼
好了,繼續加油吧。
算法夢想家,來跟我一起玩算法,玩音樂,聊聊文學創作,咱們一起天馬行空!