📑 题目:24. 两两交换链表中的节点

🚀 本题 LeetCode 传送门

题目大意

两两相邻的元素,翻转链表

解题思路

按照题意做即可。

代码

  1. package leetcode
  2. import (
  3. ""github.com/halfrost/LeetCode-Go/structures""
  4. )
  5. // ListNode define
  6. type ListNode = structures.ListNode
  7. /**
  8. * Definition for singly-linked list.
  9. * type ListNode struct {
  10. * Val int
  11. * Next *ListNode
  12. * }
  13. */
  14. func swapPairs(head *ListNode) *ListNode {
  15. dummy := &ListNode{Next: head}
  16. for pt := dummy; pt != nil && pt.Next != nil && pt.Next.Next != nil; {
  17. pt, pt.Next, pt.Next.Next, pt.Next.Next.Next = pt.Next, pt.Next.Next, pt.Next.Next.Next, pt.Next
  18. }
  19. return dummy.Next
  20. }