Reverse Linked List
Reverse a singly linked list.
代码:
# 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
"""
h = head
p = h
q = h.next
isFirst = True
if not head or not head.next: # 当head为空链表或者链表只有一个值
return head
if not q: # 当链表只有两个值时,反转头和尾指针
q.next = h
h.next = None
return q
while q:
r = q.next
if isFirst:
isFirst = False
p.next = None
q.next = p
p = q
q = r
return p
---------------------------------------------------------------------------------------------------------------------------
2016-05-01补充:
代码1:
class Solution(object):
def reverseList(self, head):
"""
:type head