138. Copy List with Random Pointer
Description
A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.
Return a deep copy of the list.
The Linked List is represented in the input/output as a list of n nodes. Each node is represented as a pair of [val, random_index] where:
val: an integer representingNode.valrandom_index: the index of the node (range from0ton-1) where random pointer points to, ornullif it does not point to any node.
Constraints
-10000 <= Node.val <= 10000Node.randomis null or pointing to a node in the linked list.Number of Nodes will not exceed 1000.
Approach
Links
GeeksforGeeks
YouTube
Examples
Input: head = [[7, null], [13, 0], [11, 4], [10, 2], [1, 0]]

Output: [[7, null], [13, 0], [11, 4], [10, 2], [1, 0]]
Input: head = [[1, 1], [2, 1]]

Output: [[1, 1], [2, 1]]
Input: head = [[3, null], [3, 0], [3, null]]

Output: [[3, null], [3, 0], [3, null]]
Input: head = []
Output: []
Explanation: Given linked list is empty (null pointer), so return null.
Solutions
Follow up
Last updated