Split a Circular Linked List
Try to solve the Split a Circular Linked List problem.
We'll cover the following
Statement
Given a circular linked list, list
, of positive integers, your task is to split it into two circular linked lists. The first circular linked list should contain the first half of the nodes (exactly ⌈list.length / 2⌉
nodes), in the same order they appeared in the original list, while the second circular linked list should include the remaining nodes in the same order.
Return an array, answer
, of length 2, where:
answer[0]
is the circular linked list representing the first half.answer[1]
is the circular linked list representing the second half.
Note: A circular linked list is a standard linked list where the last node points back to the first node.
Constraints:
Let n
be the number of nodes in a linked list.
2
n
Node.data
LastNode->next = FirstNode
whereLastNode
is the last node of the list andFirstNode
is the first one.
Examples
Level up your interview prep. Join Educative to access 70+ hands-on prep courses.