题目:
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
示例:
输入:head = [1,2,3,4] 输出:[2,1,4,3]
解法一
分析:
第一种解法是迭代,将节点两两分组进行迭代
答案:
func swapPairs(head *ListNode) *ListNode {
first := &ListNode{0, head}
temp := first
for temp.Next != nil && temp.Next.Next != nil{
n1 := temp.Next
n2 := temp.Next.Next
temp.Next = n2
n1.Next = n2.Next
n2.Next = n1
temp = n1
}
return first.Next
}