這道題目的本質 可以理解為 判斷2個字串中 各字元出現的次數是否一致
方法一:陣列
1、split方法
用於將字串分隔成字串陣列
2、sort方法
用於對字串陣列排序
3、join方法
用於將陣列中的所有元素拼接成字串
方法二:雜湊表
利用js提供的map物件,儲存第乙個字串中 各個字母出現的次數
然後再遍歷第二個字串
若當前字元在map中不存在,則直接返回false
否則,則對當前字元對應的value值減一
遍歷結束後,判斷map物件是否為空
若為空,則說明2個字串中的字母及其出現次數是匹配的
簡單說明 map 提供的幾個常用方法.get(key)-返回key對應的value,若不存在,則返回undefined
.set(key,value) -修改key對應的value
.delete(key) -刪除指定的key
.size -雜湊表的大小(key的個數)
// 方法一
var isanagram = function(s, t)
var news=s.split("").sort().join()
var newt=t.split("").sort().join()
return news===newt
};
// 方法二
var isanagram = function(s, t)
const map=new map()
for(let i=0;i
}for(let i=0;i
}if(map.size===0)else
};
Leetcode 242 有效的字母異位
time 20190901 type easy 給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true 示例 2 輸入 s rat t car 輸出 false 說明 你可以假設字串只包含小寫字母。高階 如果...
LeetCode242 有效的異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true示例 2 輸入 s rat t car 輸出 false說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你能否調整...
LeetCode 242 有效的字母異位
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你能否調整你的解法來應對這種情況?思路 兩個字串長度不等,則不滿足。兩個字串相等,則滿足。定義兩個陣列,分別記錄s和t中每個字母出現的次...