Description
https://leetcode.com/problems/reverse-linked-list/
Reverse a singly linked list.
Example:
Input: 1->2->3->4->5->NULL Output: 5->4->3->2->1->NULL
Follow up:
A linked list can be reversed either iteratively or recursively. Could you implement both?
Explanation
A palindrome, and its reverse, are identical to each other.
Python Solution
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
prev = None
current = head
while current != None:
temp = current.next
current.next = prev
prev = current
current = temp
return prev
- Time complexity: O(N).
- Space complexity: O(1).
One Thought to “LeetCode 206. Reverse Linked List”