思路:设置三个指针pre,cur,lat;循环结束的条件: cur指向最后一个,lat指向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): # 96.56%; 25.93%
if not head:
return None
pre = None
cur = head
lat = cur.next
while(lat):
cur.next = pre
pre = cur
cur = lat
lat = lat.next
cur.next = pre
return cur
# def reverseList(self, head): ## 66.1; 19.44
# """
# :type head: ListNode
# :rtype: ListNode
# """
# if not head:
# return None
# elem_list = []
# p = head
# while(p):
# elem_list.append(p.val)
# p = p.next
# elem_list.reverse()
# return self.created_linkedList(elem_list)
# def created_linkedList(self, nums):
# head = ListNode(nums[0])
# p = head
# for i in range(1, len(nums)):
# p.next = ListNode(nums[i])
# p = p.next
# return head