leetcode--python--206

206. 反转链表

其实这里有个问问题,就是下面代码中的指针操作,递归方法看不懂鸭....难受,等看懂了再在下面写

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        # tem_node = head
        # tem_list = []

        # while tem_node:
        #     tem_list.append(tem_node.val)
        #     tem_node = tem_node.next

        # result_listnode = ListNode
        # result = result_listnode
        # for i in tem_list[::-1]:
        #     while result_listnode:
        #         result_listnode.val = i
        #         result_listnode = result_listnode.next
        # result_listnode = None
        # return(result)
        pre = None
        cur = head
        while cur:
            tem = cur.next
           # pre = cur.next注意这里,不能这样写,这样写的意思是让pre指向cur.next
            cur.next = pre
            pre = cur
            cur = tem
        return(pre)

猜你喜欢

转载自blog.csdn.net/AWhiteDongDong/article/details/111395745