Skip to content

Commit 54577e5

Browse files
committed
valid-anagram solution
1 parent 1f68a57 commit 54577e5

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

valid-anagram/togo26.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* @param {string} s
3+
* @param {string} t
4+
* @return {boolean}
5+
*/
6+
// TC: O(nlogn) / SC: O(n)
7+
var isAnagram = function (s, t) {
8+
const sortedS = [...s].sort().join('');
9+
const sortedT = [...t].sort().join('');
10+
return sortedS === sortedT;
11+
};
12+
13+
// TC: O(n) / SC: O(n)
14+
var isAnagram = function (s, t) {
15+
if (s.length !== t.length) return false;
16+
const sCount = [...s].reduce((acc, cur) => {
17+
acc[cur] = acc[cur] + 1 || 1;
18+
return acc;
19+
}, {});
20+
const tCount = [...t].reduce((acc, cur) => {
21+
acc[cur] = acc[cur] + 1 || 1;
22+
return acc;
23+
}, {});
24+
return Object.keys(sCount).every(key => sCount[key] === tCount[key]);
25+
};

0 commit comments

Comments
 (0)