题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
#coding:utf-8 # class ListNode: # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param head ListNode类 # @return ListNode类 # class Solution: def ReverseList(self , head ): # write code here pre = None cur = head if head and head.next is None: return head else: while (cur): temp = cur.next cur.next = pre pre = cur cur = temp return pre
解题思路:
1.首先保存当前指向temp = cur.next
2.让当前指向指向前一个 cur.next = pre
3.右移前一个的位置 pre= cur
4.右移当前位置 cur = temp