# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclassSolution(object):
def reverseList(self, head):"""
:type head: ListNode
:rtype: ListNode
"""
# 1.迭代法,常规方法,逐个遍历反转
pre = None
next_ = head
while next_:
next_ = head.next
head.next = pre
pre = head
head = next_
return pre
classSolution(object):
def reverseList(self, head):"""
:type head: ListNode
:rtype: ListNode
"""
# 2.递归法
if head is None or head.next is None:return head
newHead = self.reverseList(head.next)
head.next.next = head
head.next = None
return newHead