chapter-four/0001~0099/0024.Swap-Nodes-in-Pairs
24. Swap Nodes in Pairs
题目
Given a linked list, swap every two adjacent nodes and return its head.
You may not modify the values in the list's nodes, only nodes itself may be changed.
Example:
Given 1->2->3->4, you should return the list as 2->1->4->3.
题目大意
两两相邻的元素,翻转链表
解题思路
按照题意做即可。
代码
package leetcode import ( "github.com/halfrost/leetcode-go/structures" ) // ListNode define type ListNode = structures.ListNode /** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func swapPairs(head *ListNode) *ListNode { dummy := &ListNode{Next: head} for pt := dummy; pt != nil && pt.Next != nil && pt.Next.Next != nil; { pt, pt.Next, pt.Next.Next, pt.Next.Next.Next = pt.Next, pt.Next.Next, pt.Next.Next.Next, pt.Next } return dummy.Next }