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?
My code:
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if head==None:
return head
head0=head
list_value=[]
while head:
list_value.append(head.val)
head=head.next
#print(list_value)
head=head0
for i in range(len(list_value)-1,-1,-1):
head.val=list_value[i]
head=head.next
return head0
Solution: https://leetcode.com/problems/reverse-linked-list/