[LeetCode242. 有效的字母异位词][简单] | 刷题打卡

76 阅读1分钟

掘金团队号上线,助你 Offer 临门! 点击 查看详情

一、题目描述:

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

示例 1:

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

输出: true

示例 2:

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

输出: false

说明: 你可以假设字符串只包含小写字母。

题目链接:leetcode-cn.com/problems/va…

二、思路分析:

  • 先将两个字符串分割成数据然后进行排序
  • 如果长度不相等,直接返回false,如果长度相等,再通过遍历去查找,一旦s有t中没有的元素,就返回false

三、AC 代码:

var isAnagram = function(s, t) {
   let sArr =  s.split('').sort()
   let tArr = t.split('').sort()
   let isAnagramFlag = true
   if(sArr.length===tArr.length){
        sArr.forEach((item,index)=>{
            if(item !== tArr[index]){
                isAnagramFlag = false
            }
        })
   }else{
       isAnagramFlag = false
   }
   return isAnagramFlag

};

四、总结:

官方解答:

var isAnagram = function(s, t) {
    return s.length == t.length && [...s].sort().join('') === [...t].sort().join('')
};

这道题的关键将字符串转换成数组排序后再比较

本文正在参与掘金团队号上线活动,点击 查看大厂春招职位