剑指offer反转链表python

Posted 小小文艺范

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer反转链表python相关的知识,希望对你有一定的参考价值。

题目描述

输入一个链表,反转链表后,输出新链表的表头。
 

思路

定义三个指针,pHead, cur,forward

反转的时候,cur.next指向pHead,然后三个指针依次向后移动,具体过程看代码。

代码

# -*- 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
        if not pHead or not pHead.next:
            return pHead
        current = pHead.next
        forward = current.next
        pHead.next = None
        while current:
            current.next = pHead
            pHead = current
            current = forward
            if forward:
                forward = forward.next
        return pHead

 

以上是关于剑指offer反转链表python的主要内容,如果未能解决你的问题,请参考以下文章

《剑指Offer——24. 反转链表》代码

剑指Offer-反转链表

剑指Offer:反转链表

剑指offer:反转链表

剑指offer-反转链表

剑指OFFER 反转链表