python3反转链表

反转链表

http://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca

如牛客官方正规解法思路:
1 声明三个变量,一个用来作为游标cur,一个用来存储下一个元素nex,一个用来表示新链表的头节点pre=None。
2 轮询待反转的链表,先保存下一个元素;然后反转当前元素;最后移动至下一个需要反转的元素

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    # 返回ListNode
    def ReverseList(self, pHead):
        nex = None
        pre = None
        cur = pHead
        while cur:
            #保存当前游标的下一个元素
            nex = cur.next

            #反转当前元素
            cur.next = pre

            #轮询下一个元素
            pre = cur
            cur = nex
        return pre
全部评论
链表为空少了个if
点赞
送花
回复
分享
发布于 2020-10-20 23:45

相关推荐

11 1 评论
分享
牛客网
牛客企业服务