示例:
輸入: 1->2->3->4->5->NULL
輸出: 5->4->3->2->1->NULL
解題思路:
先用tmp保存Head的下一個節(jié)點的信息,保證單鏈表不會因為失去Head節(jié)點的next而就此斷裂,保存完next,就可以讓Head的next指向last了,讓last,pHead依次向后移動一個節(jié)點,繼續(xù)下一次的指針反轉(zhuǎn)。
代碼:
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