第二十四天 Reverse Linked List
2018-09-13 本文已影响5人
业余马拉松选手
继续链表
这次是反转链表
https://leetcode-cn.com/problems/reverse-linked-list/description/
基本思路就是
1、需要有一个prev的“指针”,用来保存当前节点的上一个节点的值
2、在链表遍历的时候,需要用一个临时变量,保存一下当前节点指向下一个节点的“指针”,接着就是将当前节点的指针指向前一个节点
3、最后就是让当前节点能继续遍历下去,前面那个临时变量就用起来了
代码就比较简单了:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
prev = None
cur = head
while cur != None:
temp = cur.next
cur.next = prev
prev = cur
cur = temp
return prev