面试24题:
题目:反转链表
题:输入一个链表,反转链表并输出反转后链表的头节点。
解题思路:注意反转时出现断裂现象,定义3个指针,分别指向当前遍历到的节点pNode、它的前一个节点pPrev及后一个节点pNext。
解题代码:
# -*- 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 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