mirror of
https://github.com/prdlk/leetcode.git
synced 2026-11-02 13:12:44 +00:00
48 lines
920 B
Plaintext
48 lines
920 B
Plaintext
---
|
|||
|
|
title: '242. Valid Anagram'
|
||
|
|
description: Given two strings s and t, return true if t is an anagram of s, and false otherwise
|
||
|
|
sidebar:
|
||
|
|
label: 'Valid Anagram'
|
||
|
|
badge: 'Easy'
|
||
|
|
---
|
||
|
|
|
||
|
|
<Badge variant="accent">Hash Table</Badge>
|
||
|
|
|
||
|
|
::::warning
|
||
|
|
What if the inputs contain Unicode characters? How would you adapt your solution to such a case?
|
||
|
|
::::
|
||
|
|
|
||
|
|
### Example 1:
|
||
|
|
- Input: `s = "anagram", t = "nagaram"`
|
||
|
|
- Output: `true`
|
||
|
|
|
||
|
|
### Example 2:
|
||
|
|
- Input: `s = "rat", t = "car"`
|
||
|
|
- Output: `false`
|
||
|
|
|
||
|
|
### Constraints:
|
||
|
|
|
||
|
|
- `1 <= s.length, t.length <= 5 * 10^4`
|
||
|
|
- `s` and `t` consist of lowercase English letters.
|
||
|
|
|
||
|
|
## Solution
|
||
|
|
|
||
|
|
```js
|
||
|
|
/**
|
||
|
|
* @param {string} s
|
||
|
|
* @param {string} t
|
||
|
|
* @return {boolean}
|
||
|
|
*/
|
||
|
|
var isAnagram = function(s, t) {
|
||
|
|
let freq = {};
|
||
|
|
for (let c of s) freq[c] = (freq[c] || 0) + 1;
|
||
|
|
|
||
|
|
for (let c of t) {
|
||
|
|
if(!freq[c] || freq[c] === 0){
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
freq[c] = freq[c] - 1;
|
||
|
|
}
|
||
|
|
return true;
|
||
|
|
};
|
||
|
|
```
|