剑指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

 

posted @ 2018-06-19 10:53  Fintech带你飞  阅读(1081)  评论(0编辑  收藏  举报