Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const solve = (str1, str2) => {
- if (str1.length !== str2.length) return false;
- const addToMap = (map, value) => {
- if (map.has(value)) {
- map.set(value, map.get(value) + 1)
- } else {
- map.set(value, 1);
- }
- };
- const removeToMap = (map, value) => {
- if(map.has(value)) {
- const count = map.get(value) - 1;
- if (count >= 0) {
- map.set(value, count);
- return true;
- }
- }
- return false;
- };
- const obj = {
- odd: new Map(),
- even: new Map()
- };
- for (let i = 0; i < str1.length; i++) {
- addToMap(i % 2 ? obj.even : obj.odd, str1[i]);
- }
- for (let i = 0; i < str2.length; i++) {
- if(!removeToMap(i % 2 ? obj.even : obj.odd, str2[i])) return false;
- }
- return true;
- }
- console.log(solve('abcd', 'cdab'));
- console.log(solve('abcd', 'bcda'));
Add Comment
Please, Sign In to add comment