Remove Nth Node From End of List

Medium~20 min

Given the head of a linked list, remove the nth node from the end of the list and return its head.

Follow up: Could you do this in one pass?

Examples

Example 1
Input: head = [1, 2, 3, 4, 5], n = 2
Output: [1, 2, 3, 5]
Explanation: The 2nd node from the end is 4, so we remove it.
Example 2
Input: head = [1], n = 1
Output: []
Explanation: The only node is removed, resulting in an empty list.
Example 3
Input: head = [1, 2], n = 1
Output: [1]
Explanation: The last node (2) is removed.

Constraints

  • The number of nodes in the list is sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz
  • Expected time complexity: O(n)
Code
Ctrl+EnterRun|Ctrl+⇧+EnterSubmit
Output

Run your code to see results

Use Cmd+Enter to run