Find Resultant Array After Removing Anagrams LeetCode solution in JavaScript

1
var removeAnagrams = function (words) {
2
let n = words.length;
3

4
for (let i = 0; i < n - 1; i++) {
5
if (isAnagram(words[i], words[i + 1])) {
6
words.splice(i + 1, 1);
7
i--;
8
n--;
9
}
10
}
11
return words;
12
};
13

14
function isAnagram(a, b) {
15
let freqArr = new Array(26).fill(0);
16
if (a.length != b.length) return false;
17

18
for (let i = 0; i < a.length; i++) {
19
let idx1 = a[i].charCodeAt(0) - "a".charCodeAt(0);
20
freqArr[idx1]++;
21
let idx2 = b[i].charCodeAt(0) - "a".charCodeAt(0);
22
freqArr[idx2]--;
23
}
24

25
for (let i = 0; i < 26; i++) {
26
if (freqArr[i] > 0) {
27
return false;
28
}
29
}
30
return true;
31
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0