Reverse Linked List
LeetCode: Reverse Linked List
Problem
Given the head of a singly linked list, reverse the list, and return the reversed list.
Solution
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func reverseList(head *ListNode) *ListNode {
var prev *ListNode // prev is null here
for head != nil {
next := head.Next // save the next one will need this when we have lost our head to prev
head.Next = prev // reversing the Next pointer
prev = head // increment previous pointer
head = next // increment head
}
return prev
}
