题目描述
输入一个链表,反转链表后,输出新链表的表头。
思路:创建3个指针,分别指向前一个节点,当前节点和下一个节点,以防止反转链表的过程中出现断裂。
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
if not pHead:
return None
pPre=None
pNode=pHead
pReHead=ListNode(None)
while pNode:
pNext=pNode.next
if not pNext:
pReHead=pNode
pNode.next=pPre
pPre=pNode
pNode=pNext
return pReHead
错误一:
在上述代码中如果pPre=ListNode(None),那么会告诉你
用例:
{1,2,3,4,5}
对应输出应该为:
{5,4,3,2,1}