题解 | #反转链表#

思路:

定义两个指针,一个指向前驱节点的pre,初始时为None,另一个cur指向要遍历的节点。我们重点要做的是保存cur的下一个节点,然后保存了之后让cur.next指向pre,接着就是把pre和cur都后移动一位。

代码:

# -*- 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
        pre = None # 指向前一个节点
        cur = pHead # 指向当前节点
        while cur:
            temp = cur.next # 保存下一个节点
            cur.next = pre # 当前节点指向我们定义的前面
            pre = cur # 前驱后移
            cur = temp # 当前指针后移
        return pre
全部评论

相关推荐

06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
嵐jlu:我是山川🐔里🐔🧱的,阿里系简历全过; 你这简历一看就还是半成品啊,没有荣誉经历奖项什么的吗?
投递阿里巴巴集团等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务