Swapping Nodes in a Linked List

Medium

Topics
Linked ListTwo Pointers

Given the head of a linked list and an integer k, swap the values of the k-th node from the beginning and the k-th node from the end (1-indexed), then return the head.

Example 1

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

Example 2

Input:  head = [7,9,6,6,7,8,3,0,9,5], k = 5
Output: [7,9,6,6,8,7,3,0,9,5]

Constraints

  • 1 <= k <= number of nodes <= 10^5
  • 0 <= Node.val <= 100
Run ⌘' · Submit ⌘⏎