diff --git a/index.js b/index.js index 4ea6312..ec94bd4 100644 --- a/index.js +++ b/index.js @@ -1,22 +1,24 @@ -function moveZeros(arr = '') { - function twistIt(str = '') { - return str.split('').map((a, i, arr) => arr[arr.length - i - 1]).join('') +function hasCycle(head) { + let nodes = []; + while (head) { + nodes.push(head.data); + head = head.next; } - return arr.split(' ').map(item => twistIt(item)).join(' ') -} - -console.log(moveZeros("double spaces"), "double spaces", '==>', "elbuod secaps") -console.log(moveZeros("double spaces"), "double spaces", '==>', "elbuod secaps") -console.log(moveZeros("double spaces"), "double spaces", '==>', "elbuod secaps") - -function manhattanDistance(arr0, arr1) { - function fn(params) { - - return Math.abs(params) + nodes = nodes.reduce((acc = [], item, i, arr) => { + if (i < arr.length - 1) acc.push([item, arr[i + 1]]); + return acc; + }, []); + for (const node of nodes) { + if (nodes.find((item) => item === node.reverse())) return 1; } - return (fn(arr0[0] - arr1[0]) + fn(arr0[1] - arr1[1])) + return 0; } -console.log(manhattanDistance([1, 1], [1, 1]), '=> returns 0') -console.log(manhattanDistance([5, 4], [3, 2]), '=> returns 4') -console.log(manhattanDistance([1, 1], [0, 3]), '=> returns 3') +let nodeList = { + data: 1, + + next: { data: -1, next: { data: 1, next: null } }, +}; +console.log(hasCycle(nodeList)); +nodeList = { data: -1, next: null }; +// console.log(hasCycle(nodeList)); diff --git a/package-lock.json b/package-lock.json index f61b636..45221c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2115,9 +2115,9 @@ } }, "node_modules/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -4244,9 +4244,9 @@ "dev": true }, "prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true }, "progress": {