# Partition List Leetcode Solution

In this post, we are going to solve the Partition List Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

## Problem

Given the `head` of 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.

Example 1:

```Input: head = [1,4,3,2,5,2], x = 3
Output: [1,2,2,4,3,5]
```

Example 2:

```Input: head = [2,1], x = 2
Output: [1,2]
```

Constraints:

• The number of nodes in the list is in the range `[0, 200]`.
• `-100 <= Node.val <= 100`
• `-200 <= x <= 200`

Now, lets see the leetcode solution of Partition List Leetcode Solution.

### Partition ListLeetcode Solution in Python

```class Solution:
def partition(self, head: ListNode, x: int) -> ListNode:

if head.val < x:
else:

after.next = None

```

### Partition List Leetcode Solutionin CPP

```class Solution {
public:
ListNode* partition(ListNode* head, int x) {
ListNode* before = &beforeHead;
ListNode* after = &afterHead;

if (head->val < x) {
} else {
}

after->next = nullptr;

};
};
```

### Partition List Leetcode Solution in Java

```class Solution {
public ListNode partition(ListNode head, int x) {
ListNode beforeHead = new ListNode(0);
ListNode afterHead = new ListNode(0);
ListNode before = beforeHead;
ListNode after = afterHead;

if (head.val < x) {
} else {