剑指office编程题

反转链表(python3实现)

2020-01-21  本文已影响0人  乔治大叔

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

解题思路:

先用tmp保存Head的下一个节点的信息,保证单链表不会因为失去Head节点的next而就此断裂,保存完next,就可以让Head的next指向last了,让last,pHead依次向后移动一个节点,继续下一次的指针反转。

代码:

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        if head == None:
            return head
        last = None
        while head:
            tmp = head.next 
            head.next = last 
            last = head
            head = tmp
        return last
上一篇 下一篇

猜你喜欢

热点阅读