天天看點

反轉單向連結清單python實作

#File Name : 反轉單向連結清單.py
# 先獲得下一個節點防止丢失
# 改變目前節點的下一個節點
# 把即将成為頭結點的設定為head
# 原來頭結點為pre 因為他即将成為新頭結點的下一個節點
# 知道head為空,此時pre即為新的頭結點

class Node(object):
    def __init__(self,value):
        self.next = None
        self.value = value

    def reverseList(self,head_node):
        pre = None
        while head_node!=None:
            next = head_node.next
            head_node.next = pre
            pre = head_node
            head_node = next
        return pre
           

  

  時間複雜度O(N),空間複雜度O(1)。