leetcode 242 有效的字母异位词
题目 :给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。(字符长度相同,字母个数相同,仅顺序位置不同)
输入: s = "anagram", t = "nagaram" 输出: true
输入: s = "rat", t = "car" 输出: false
第一次:
1 var isAnagram = function(s, t) { 2 if(s.length != t.length) return false 3 let ss = Array.from(s).sort() 4 let tt = Array.from(t).sort() 5 return ss.toString() === tt.toString() 6 };
第二次:
1 var isAnagram = function(s, t) { 2 return s.length === t.length && [...s].sort().toString() === [...t].sort().toString() 3 };
第三次(看题解后):使用映射
1 var isAnagram = function(s, t) { 2 if(s.length != t.length) return false; 3 let arr = new Array(26).fill(0); 4 [...s].forEach(item => { 5 let index = item.charCodeAt() - 97 6 arr[index] = ++arr[index] 7 }); 8 return [...t].every(item => { 9 let index = item.charCodeAt() - 97 10 arr[index] = --arr[index] 11 return arr[index] >= 0 12 }) 13 };
马老师看到后,给点意见哈,怎么写更优雅,哈哈
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步