ListNode reverse(ListNode head) {
ListNode previous = null;
while (head != null) {
ListNode next = head.next;
head.next = previous;
previous = head;
head = next;
}
return previous;
}
def reverse(head):
previous = None
while head:
nxt = head.next
head.next = previous
previous = head
head = nxt
return previous
def reverse(head0: ListNode): ListNode =
var head = head0
var previous: ListNode = null
while head != null do
val next = head.next
head.next = previous
previous = head
head = next
previous
ListNode* reverse(ListNode* head) {
ListNode* previous = nullptr;
while (head != nullptr) {
ListNode* next = head->next;
head->next = previous;
previous = head;
head = next;
}
return previous;
}