Skip to content

242. 有效的字母异位词 #29

@bt2ee

Description

@bt2ee

题目

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

示例

示例 1:

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

示例 2:

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

解题

非常常规的桶排序思想(m 个桶中 n 个无序数进行排序)
桶排序更多其实考核的是思想而不是统一的做法
桶排序-百度百科

解题方法

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isAnagram = function(s, t) {
    if(s.length !== t.length) return false
    const arr = new Array(26).fill(0)
    for(let i = 0; i < s.length;i++) {
        arr[s.codePointAt(i) - 'a'.codePointAt()]++
    }
    for(let i = 0; i < t.length;i++) {
        --arr[t.codePointAt(i) - 'a'.codePointAt()]
        if(arr[t.codePointAt(i) - 'a'.codePointAt()] < 0) {
            return false
        }
    }
    return true
};

关联题

49. 字母异位词分组(普通)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions