aboutsummaryrefslogtreecommitdiff
path: root/reverse_linked_list.py
diff options
context:
space:
mode:
Diffstat (limited to 'reverse_linked_list.py')
-rw-r--r--reverse_linked_list.py35
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=[]))