Try   HackMD

24.Swap Nodes in Pairs

tags: Medium,Linked List

24. Swap Nodes in Pairs

題目描述

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:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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

解答

Python

class Solution: def swapPairs(self, head: Optional[ListNode]) -> Optional[ListNode]: # If the list has no node or has only one node left. if not head or not head.next: return head first_node = head second_node = head.next # Swapping first_node.next = self.swapPairs(second_node.next) second_node.next = first_node # Now the head is second node return second_node

Ron ChenTue, May 16, 2023

Javascript

function swapPairs(head) { if (!head || !head.next) return head; const temp = head.next; head.next = swapPairs(temp.next); temp.next = head; return temp; }

MarsgoatTue, May 16, 2023

Reference

回到題目列表