LeetCode之linkedlist -- reverse linked list

这道题是反转链表,是leetcode的简单题目,但是它的一个解法比较难理解:

思路就是需要两个指针prev和cur,初始化prev为None,cur为头节点;

不断循环使用cur.next指向前一个节点,cur也不断前进,prev来保存反转的链表

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        prev = None
        cur = head
        while(cur):
            cur.next,prev,cur = prev,cur,cur.next#这一句比较难理解,它和下面的几句是等价,它没有temp变量
            # temp = cur.next
            # cur.next = prev
            # prev = cur
            # cur = temp
        return prev


评论

Live Sex Cams Free