题目:分别实现反转单向链表和反转双向链表的函数
要求:如果链表长度为N,时间复杂度要求为O(N),额外空间复杂度要求为O(1)
My:
Reference:
#反转单向链表 def reverse_linklist(L): pre = None next = None p = L.head.next_item while p: next = p.next_item p.next_item = pre pre = p p = next L.head.next_item = pre #反转双向链表 def reverse(L): pre = None next = None p = L.head.next_item while p: next = p.next_item p.next_item = pre p.prior_item = next pre = p p = next L.head.next_item = pre pre.prior_item = L.head