问题描述:
输入一个链表,反转链表后,输出新链表的表头。
思路分析:
这是典型的链表反转问题,之前学习在看一本python语言的图解数据结构,其中链表一张中讲解了链表的反转。
python实现代码如下:
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# 返回ListNode
def ReverseList(self, pHead):
# write code here
p = pHead #将p指向链表开头
q = None #q是p的前一个结点
while p != None:
last = q
q = p
p = p.next #将p移到下一个结点
q.next = last #q连接到之前的结点
return q