题目描述
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
解答过程
# 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 is None:
return None
node1=head
list1=[node1.val]
while node1.next:
node1=node1.next
list1.append(node1.val)
node2=ListNode(list1[-1])
list1.pop()
node3=ListNode(0)
node3.next=node2
a=len(list1)
for i in range(a):
node4=ListNode(list1[a-1-i])
node2.next=node4
node2=node2.next
return node3.next
执行结果
执行用时 :28 ms, 在所有 Python 提交中击败了76.87% 的用户
内存消耗 :15.4 MB, 在所有 Python 提交中击败了17.68%的用户