编辑代码

# coding:utf-8
#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
def ReverseLinkList(self, head):
    # 递归
    if head is None and head.next is None:
        return head
    else:
        newHead = ReverseLinkList(head.next)
        head.next.next = head
        head.next = None

    return newHead

def ReverseLinkList2(self, head):
    """
    我们让上一个指针prev为None, 当前指针cur
    指向head, 然后迭代, 当cur存在的时候, 先保存
    cur的后继节点temp=cur.next, 然后让cur.next指向pre(反向指回去)
    接着让prev=cur也就是prev,cur各自向前走一步prev变成了当前的cur,
    然后让cur=temp(temp=cur.next). 即可完成反转
    """
    prev = None
    cur = head

    while cur:
        temp = cur.next
        cur.next = prev
        prev = cur
        cur = temp