86. Partition List

Description

Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.

You should preserve the original relative order of the nodes in each of the two partitions.

Constraints

Approach

Examples

Input:

head = 1 -> 4 -> 3 -> 2 -> 5 -> 2,

x = 3

Output: 1 -> 2 -> 2 -> 4 -> 3 -> 5

Solutions

// Definition for singly-linked list.
public class ListNode {
	int val;
	ListNode next;
	
	ListNode() {}
	
	ListNode(int val) { this.val = val; }
	
	ListNode(int val, ListNode next) { 
		this.val = val; 
		this.next = next;
	}
}

Follow up

  • Traverse Linked List from middle to left-right order using recursion - GFG

Last updated

Was this helpful?