leetcode:[206]反轉鏈表
阿新 • • 發佈:2019-04-20
amp etc 開始 none 遍歷 當前 for NPU 就會 Reverse a singly linked list.
Example:
Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL
# Definition for singly-linked list. class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: """ 1->2->3->4->None new_head | None<-4<-3<-2<-1 new_head就是從None開始一直到原來鏈表的尾。 在反轉的時候先記錄下一個節點,然後將當前節點反轉,然後將更新新的表頭,再遍歷下一個節點 """ def reverseList(self, head: ListNode) -> ListNode: new_head = None while head: # 記錄下一個節點,因為等下反轉當前節點之後就會丟失下一個節點 next_node = head.next # 反轉當前節點。因為相對於head來說,new_head指向的是head的前一個節點 head.next = new_head # 更新新的表頭 new_head = head # 將指針往後移動,這時就需要用到前面記錄的節點 head = next_node # 最後new_head就是反轉後的表頭 return new_head
leetcode:[206]反轉鏈表