copyRandomList = function(head) {
    if (!head) return null;

    cloneNode(head);         /* Time O(N) */
    connectRandomNode(head); /* Time O(N) */

    return connectNode(head);/* Time O(N) */
}
https://leetcode.com/problems/copy-list-with-random-pointer/
Time O(N) | Space O(1)
@param {Node} head
@return {Node}