fun reverseList(head: ListNode?): ListNode? { if (head == null) return null var currentNode = head var previousNode: ListNode? = null var reversedNode: ListNode? = null while (currentNode != null) { val next = currentNode.next if (next == null) { reversedNode = currentNode } currentNode.next = previousNode previousNode = currentNode currentNode = next } return reversedNode }