Swap Nodes in Pairs

Photo by Edgar Baltazar on Unsplash

Given a linked list, swap every two adjacent nodes and return its head. You must solve the problem without modifying the values in the list’s nodes (i.e., only nodes themselves may be changed.)

Example 1:

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

Example 2:

Input: head = []
Output: []

Example 3:

Input: head = [1]
Output: [1]

Constraints:

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

Solution-iteration

First of all, in order to avoid disturbing the head node separately, generally first apply for an empty node to point to the head node, and then use a pointer to traverse the entire linked list.

Point is a position in front of the two nodes to be exchanged.

Time Complexity: O(N), as we traverse the entire list only once.

Space Complexity: O(N), due to additional dummy list.

--

--

--

Full Stack Programmer, love to solve problem’s during free time.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Scalar 2018 whiteboard voting results!

Kafka application with spring boot and ELK stack (Elastic Search — Logstach -Kibana) PART I

Overview of Kafka

How much does it cost to build a web or mobile app?

CS371p Spring 2021: Hogan Tran

How to implement JWT auth by nuxtjs/auth with Rails API and Nuxt.js

Go Module’s Replace

The Unix File System Explained

A simple Python application with UI

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Jaydeep

Jaydeep

Full Stack Programmer, love to solve problem’s during free time.

More from Medium

Design Underground System

[#HumansofLenskart] Siddhesh Chavan- The iOS Master

Oracle India Interview Experience : CLOUD ANALYST (Selected)

Leetcode 1514. Path with Maximum Probability