题解 | #反转链表#
反转链表
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就是新的头节点