242. Valid Anagram

2021-09-30  本文已影响0人  jluemmmm

给定两个字符串 s 和 t,判断 s 是否是 t 的字母异位词,若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

排序

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isAnagram = function(s, t) {
  if (s.length !== t.length) {
    return false
  }
  const s1 = s.split('');
  const t1 = t.split('');
  s1.sort();
  t1.sort();
  return s1.toString() === t1.toString();
};

哈希表

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isAnagram = function(s, t) {
  if (s.length !== t.length) {
    return false;
  }
  let counter = new Array(26).fill(0);
  for (let i = 0; i < s.length; i++) {
    counter[s.charCodeAt(i) - 97]++;
    counter[t.charCodeAt(i) - 97]--;
  }
  
  for (let j of counter) {
    if (j !== 0) {
      return false;
    }
  }
  return true;
};
上一篇 下一篇

猜你喜欢

热点阅读