Leetcode刷题笔记

第二十四天 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
上一篇 下一篇

猜你喜欢

热点阅读