# Remove Nth Node From End of List LeetCode Solution | Easy Approach Share:

Remove Nth Node From End of List | Given the `head` of a linked list, remove the `nth` node from the end of the list and return its head.

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

Example 2:

```Input: head = , n = 1
Output: []
```

Example 3:

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

Constraints:

• The number of nodes in the list is `sz`.
• `1 <= sz <= 30`
• `0 <= Node.val <= 100`
• `1 <= n <= sz`

Time: O(n)
Space: O(1)

### C++

``````class Solution {
public:
ListNode* removeNthFromEnd(ListNode* head, int n) {

while (n--)
fast = fast->next;
if (!fast)

while (fast->next) {
slow = slow->next;
fast = fast->next;
}
slow->next = slow->next->next;

}
};
``````

### Java

``````class Solution {
public String intToRoman(int num) {
final int[] values = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {

while (n-- > 0)
fast = fast.next;
if (fast == null)

while (fast.next != null) {
slow = slow.next;
fast = fast.next;
}
slow.next = slow.next.next;

}
}

``````

### Python

``````class Solution:
def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:

for _ in range(n):
fast = fast.next
if not fast: