24. Swap Nodes in Pairs
Problem
Analysis
Code
/**
* Definition for singly-linked list.
* class ListNode(var `val`: Int = 0) {
* var next: ListNode? = null
* }
*/
class Solution {
fun swapPairs(head: ListNode?): ListNode? {
val h = ListNode(0)
h.next = head
var left: ListNode = h
var right: ListNode? = left.next?.next
while (right != null) {
swapPair(left, right)
left = left.next!!.next!!
right = left.next?.next
}
return h.next
}
private fun swapPair(left: ListNode, right: ListNode) {
left.next?.next = right.next
right.next = left.next
left.next = right
}
}Last updated