【Leetcode】Reverse Linked List

Reverse a singly linked list.

class Solution(object):

    def reverseList(self, head):

        """

        :type head: ListNode

        :rtype: ListNode

        """

        prev = None

        while head:

            cur = head

            head = head.next

            cur.next = prev

            prev = cur

        return prev

1 cur = head 表示cur指针指向了head

2 因为需要倒置链表,所以最后是指向None的,所以设置一个prev node存储cur.next,就是一个临时的node,初始化为None

3 cur指针用来保存当前head的位置

4 同时head指针指向下一个node,为下一个循环做准备

5 一共三个指针,一个prev指针,用来存储当前指针的next值,一个cur指针指向当前head,一个head指针,指向下一次循环的head

6 首先处理head,用cur指针指向head

7 然后处理head指针,指向head.next

8 然后建立linked list,cur.next指向prev

9 最后更新prev,prev=cur,代表当前的head在下一个循环中是被指向的node

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容