Skip to content

LeetCode题解:242. 有效的字母异位词,数组排序,JavaScript,详细注释 #176

@chencl1986

Description

@chencl1986

原题链接:https://leetcode-cn.com/problems/subsets-ii/solution/

解题思路:

  1. 该题实际要对比的是两个字符串中的每个字母的数量是否相同。
  2. 将字符串都转换为数组,再将数组从小到大排序。
  3. 排序时可以直接使用sort方法,或者字符串使用charCodeAt或者codePointAt方法转换为Unicode码点再运算。
  4. 将排序后的数组转换成字符串对比是否相等即可。
/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isAnagram = function(s, t) {
  // 将字符串切割成数组
  let sArr = s.split('')
  let tArr = t.split('')

  // 使用数组进行排序,注意字符串要使用charCodeAt或者codePointAt方法转换为Unicode码点再运算
  // 直接使用sort方法,如sArr.sort()
  sArr.sort((a, b) => a.codePointAt(0) - b.codePointAt(0))
  tArr.sort((a, b) => a.codePointAt(0) - b.codePointAt(0))

  // 将数组转换成字符串,并比较是否相等
  return sArr.join('') === tArr.join('')
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions