diff options
Diffstat (limited to 'reverse_linked_list.py')
-rw-r--r-- | reverse_linked_list.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/reverse_linked_list.py b/reverse_linked_list.py new file mode 100644 index 0000000..53a8481 --- /dev/null +++ b/reverse_linked_list.py @@ -0,0 +1,35 @@ +# 206. Reverse Linked List + +""" +given the 'head' of a singly linked list, reverse the list, and return the +reversed list. +""" + + +# Definition for singly-linked list. +class ListNode(object): + def __init__(self, val=0, next=None): + self.val = val + self.next = next + + +class Solution(object): + def reverseList(self, head): + """ + :type head: ListNode + :rtype: ListNode + """ + prev = None + while head: + curr = head + head = head.next + curr.next = prev + prev = curr + return prev + + +if __name__ == "__main__": + obj = Solution() + print(obj.reverseList(head=[1, 2, 3, 4, 5])) + print(obj.reverseList(head=[1, 2])) + print(obj.reverseList(head=[])) |