题目描述:
输入一个链表,反转链表后,输出新链表的表头。
思路:
不构造新的链表,原地反转。需要指针个数为4:1、保留当前节点的下一节点防止链表断裂 , 2、指向当前节点,3、指向当前节点的下一节点,4、指向当前节点的前一节点
代码:
Class solution:
def ReverseList(self, pHead):
pre = None
while pHead:
tmp = pHead.next #临时保存当前节点的下一节点
pHead.next = pre #当前节点的下一节点指针指向前一节点(实现反转)
pre = pHead #指针前移,下一循环的当前节点的前一节点
pHead = tmp #指针前移,下一循环的当前节点
return pre #返回最后一个pHead