高頻算法面試題(字符串) 242. 有效的字母異位詞

leetcode 242. 有效的字母異位詞

給定兩個字符串 s 和 t ,編寫一個函數來判斷 t 是不是 s 的一個字母異位詞。
示例 1:算法

輸入: s = "anagram", t = "nagaram"
輸出: true
複製代碼

示例 2:數組

輸入: s = "rat", t = "car"
輸出: false
複製代碼

說明: 你能夠假設字符串只包含小寫字母。函數

這道題比較容易一些,hash記憶化便可。固然了,這道題只會出現小寫字母,那麼咱們用一個數組就能解決。
🐎:ui

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
}
複製代碼

好了,繼續加油吧。spa

算法夢想家,來跟我一塊兒玩算法,玩音樂,聊聊文學創做,我們一塊兒天馬行空! code

在這裏插入圖片描述
相關文章
相關標籤/搜索