赞
踩
反转一个单链表
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
你可以迭代或递归地反转链表。
反转,即先进后出,使用队列依此取值赋值操作。
def reverseList(self, head):
node_queue = []
p = head
while p:
node_queue.append(p.val)
p = p.next
p = head
while p:
p.val = node_queue.pop(-1)
p = p.next
return head
维系一个结点p始终指向头结点,即第一个结点。
def reverseList(self, head):
p, h = None, head
while h:
tmp = h.next
h.next = p
p = h
h = tmp
return p
(最近更新:2019年04月16日)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。