剑指offer 面试24题

面试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
原文地址:https://www.cnblogs.com/yanmk/p/9197560.html