面试24题:
题目:反转链表
题:输入一个链表,反转链表并输出反转后链表的头节点。
解题思路一:注意反转时出现断裂现象,定义3个指针,分别指向当前遍历到的节点pNode、它的前一个节点pPrev及后一个节点pNext。
class Solution:
# 返回ListNode
def ReverseList(self, pHead):
# write code here
pReversedHead=None
pNode=pHead
pPrev=None
while pNode:
pNext=pNode.next
if not pNext:
pReversedHead=pNode
pNode.next=pPrev
pPrev=pNode
pNode=pNext
return pReversedHead
解题思路一:注意反转时出现断裂现象,定义3个指针,分别指向当前遍历到的节点pNode、它的前一个节点pPrev及后一个节点pNext。
def reverseList(self, head):
prev = None
while head:
head.next, prev, head = prev, head, head.next
return prev