15 Jun 2024C++ / Python / TypeScriptEasy

Reverse Linked List

Collected C++, Python, TypeScript solutions for reverse linked list. Add a dedicated write-up later if you want deeper notes.

auto-generated entry for Reverse Linked List. the solution files are available below.

solution files

  • C++ reverse-linked-list/synced-solution.cpp
  • Python reverse-linked-list/synced-solution.py
  • TypeScript reverse-linked-list/synced-solution.ts

Solution files

Pythonreverse-linked-list/synced-solution.py
class ListNode:
    def __init__(self, val=class="syntax-number">0, next=None):
        self.val = val
        self.next = next

def reverseList(head: ListNode) -> ListNode:
    prev = None
    current = head

    while current:
        next_temp = current.next
        current.next = prev
        prev = current
        current = next_temp

    return prev
C++reverse-linked-list/synced-solution.cpp
class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        ListNode* prev = nullptr;
        ListNode* current = head;

        while (current) {
            ListNode* nextTemp = current->next;
            current->next = prev;
            prev = current;
            current = nextTemp;
        }

        return prev;
    }
};
TypeScriptreverse-linked-list/synced-solution.ts
function reverseList(head: ListNode | null): ListNode | null {
    let prev: ListNode | null = null;
    let current = head;

    while (current) {
        const nextTemp = current.next;
        current.next = prev;
        prev = current;
        current = nextTemp;
    }

    return prev;
}