zoukankan      html  css  js  c++  java
  • 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 };

    马老师看到后,给点意见哈,怎么写更优雅,哈哈

  • 相关阅读:
    训练1-J
    训练1-K
    训练1-P
    二分查找法详解
    POJ:1094-Sorting It All Out(拓扑排序经典题型)
    POJ:2632-Crashing Robots
    POJ:1086-Parencodings
    POJ:2586-Y2K Accounting Bug
    POJ:2109-Power of Cryptography(关于double的误差)
    POJ:1328-Radar Installation
  • 原文地址:https://www.cnblogs.com/jiaobaba/p/14636153.html
Copyright © 2011-2022 走看看