题解 | #反转链表#

反转链表

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param head ListNode类 
# @return ListNode类
#
class Solution:
    def ReverseList(self , head: ListNode) -> ListNode:
        # write code here
        cur = head
        # pre代表前一个Node head前面的就是None
        pre = None
        while cur != None:
            temp = cur.next
            cur.next = pre
            pre = cur 
            cur = temp
        return pre

思路:要构建一个reverse linklist

首先 1.目前的head应该是在最前面的 2.head 前面的点是None 所以会有 pre = None。

后面reverse的过程 1.后面一定是要更新cur指向list的下一个 。2.针对每一个Pre,这个要让目前的cur的指向。3.更新pre。

判断条件是 最后一个的cur = cur.next,会让这个cur变为None

Cur最后指向的是None 同时Pre就是新的头节点

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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