In this Leetcode Remove Linked List Elements problem solution we have Given the head of a linked list and an integer val, remove all the nodes of the linked list that has Node.val == val, and return the new head.

## Problem solution in Python.

```class Solution:
def removeElements(self, head: ListNode, val: int) -> ListNode:
arr = []

for i in range(len(arr)):
newList.val = arr[i]
if(i == len(arr) - 1):
newList.next = None
else:
newList = newList.next
if len(arr) == 0:
```

## Problem solution in Java.

```public ListNode removeElements(ListNode head, int val)
{
return null;

ListNode prev = null;

while (curr != null)
{
if (curr.val == val)
{
if (prev != null)
prev.next = curr.next;
else
}
else
{
prev = curr;
}
curr = curr.next;
}
}
```

## Problem solution in C++.

```class Solution {
public:
Solution(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
ListNode* removeElements(ListNode* head, int val) {
while(temp != nullptr){
ListNode *next = temp->next;
while((next != nullptr) && (next->val == val)){
temp->next = next->next;
next = next->next;
}
temp = temp->next;
}
}
};
```

## Problem solution in C.

```struct ListNode* removeElements(struct ListNode* head, int val)
{
struct ListNode **pp, *p;