Skip to content

Commit 9a0fb68

Browse files
committed
valid anagram solution
1 parent aa17983 commit 9a0fb68

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

valid-anagram/hi-rachel.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* O(n) time
3+
* O(문자수(s + t)) space
4+
*/
5+
6+
function isAnagram(s: string, t: string): boolean {
7+
let sMap = new Map();
8+
let tMap = new Map();
9+
10+
for (let i = 0; i < s.length; i++) {
11+
sMap.set(s[i], sMap.get(s[i]) + 1 || 1);
12+
}
13+
14+
for (let i = 0; i < t.length; i++) {
15+
tMap.set(t[i], tMap.get(t[i]) + 1 || 1);
16+
}
17+
18+
function areMapsEqual(map1, map2) {
19+
if (map1.size !== map2.size) return false;
20+
21+
for (let [key, value] of map1) {
22+
if (map2.get(key) !== value) return false;
23+
}
24+
return true;
25+
}
26+
return areMapsEqual(sMap, tMap);
27+
}

0 commit comments

Comments
 (0)