首页 > 其他 > 详细

链表及链表的逆置

时间:2019-10-14 12:41:57      阅读:67      评论:0      收藏:0      [点我收藏+]

构造链表

class Node(object):
 
    def __init__(self, value, next):
        self.value = value
        self.next = next
 
 
head = Node(, None)
last = head
for i in range(5):
    node = Node(v%s % i, None)
    last.next = node
    last = node
 
# ######### 查看链表关系 ##########
print(原始链表信息为:)
print(head.value)
print(head.next.value)
print(head.next.next.value)
print(head.next.next.next.value)
print(head.next.next.next.next.value)
print(head.next.next.next.next.next.value)

链表逆置

def reverse_linked_list(head):
    """
    链表逆置
    :param head:
    :return:
    """
    if not head or not head.next:
        return head
 
    prev_node = None
    current_node = head
    next_node = head.next
 
    while True:
        current_node.next = prev_node
        if not next_node:
            break
        prev_node = current_node
        current_node = next_node
        next_node = current_node.next
    return current_node
 
 
new_head = reverse_linked_list(head)
 
print(逆置之后的链表)
print(new_head.value)
print(new_head.next.value)
print(new_head.next.next.value)
print(new_head.next.next.next.value)
print(new_head.next.next.next.next.value)
print(new_head.next.next.next.next.next.value)

 

链表及链表的逆置

原文:https://www.cnblogs.com/blackball9/p/11670362.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!