Files
JACKYMYPERSON e1546166a3 增加新题目
2025-08-24 04:20:11 +08:00

55 lines
903 B
Go

package main
type ListNode struct {
Val int
Next *ListNode
}
func main() {
}
func swapPairs(head *ListNode) *ListNode {
firstNode := (*ListNode)(head)
secondNode := (*ListNode)(nil)
num := 0
for head != nil {
if head.Next != nil {
if head.Next.Next != nil {
if num == 0 {
firstNode = head.Next
secondNode = head
}
if secondNode != nil && num != 0 {
secondNode.Next = head.Next
}
tmpright := head.Next.Next
head.Next.Next = head
head.Next = tmpright
secondNode = head
head = tmpright
num++
continue
} else {
if num == 0 {
firstNode = head.Next
secondNode = head
}
if secondNode != nil && num != 0 {
secondNode.Next = head.Next
}
tmpright := head.Next.Next
head.Next.Next = head
secondNode = head
head.Next = tmpright
}
}
head = head.Next
num++
}
return firstNode
}