剑指Offer(Python多种思路实现):反转链表

面试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
发布了35 篇原创文章 · 获赞 2 · 访问量 9650

猜你喜欢

转载自blog.csdn.net/weixin_44151089/article/details/104454435