zoukankan      html  css  js  c++  java
  • 链表及链表的逆置

    构造链表

    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)
  • 相关阅读:
    6.1 tar:打包备份
    6.3-4 zip、unzip
    6.5 scp:远程文件复制
    S7 Linux用户管理及用户信息查询命令
    7.6 passwd:修改用户密码
    7.2-5 usermod
    DES
    FreeRTOS笔记
    第4章 裸机系统和多任务系统
    第008课_第1个ARM落版程序及引申
  • 原文地址:https://www.cnblogs.com/blackball9/p/11670362.html
Copyright © 2011-2022 走看看