diff --git a/coding_interviews/algoexpert/middle-node/middle-node-slow-fast.js b/coding_interviews/algoexpert/middle-node/middle-node-slow-fast.js new file mode 100644 index 0000000..3424e5d --- /dev/null +++ b/coding_interviews/algoexpert/middle-node/middle-node-slow-fast.js @@ -0,0 +1,14 @@ +// Runtime: O(N), N = number of nodes in the linked list +// Space: O(1) + +function middleNode(linkedList) { + let fast = linkedList; + let slow = linkedList; + + while (fast && fast.next) { + fast = fast.next.next; + slow = slow.next; + } + + return slow; +}