zoukankan      html  css  js  c++  java
  • 1.1链表逆序

    链表逆序

    有头结点的链表逆序

    # -*-coding:utf-8-*-
    # 有头结点的链表逆序
    class Node:
        def __init__(self, data=None, next=None):
            self.data = data
            self.next = next
    
    
    def print_link(head):
        cur = head.next
        while cur.next != None:
            print(cur.data, end=' ')
            cur = cur.next
        print(cur.data)
    
    
    def con_link(n):
        head = Node()
        cur = head
        for i in range(n):
            node = Node(i)
            cur.next = node
            cur = node
        print_link(head)
        reverse_link(head)
    
    def reverse_link(head):
        if head.next == None or head == None:
            return
        pre = head.next
        cur = head.next.next
        pre.next = None
        while cur.next != None:
            next = cur.next
            cur.next = pre
            pre = cur
            cur = next
        cur.next = pre
        head.next = cur
        print_link(head)
    
    
    
    if __name__ == '__main__':
        con_link(5)
    

    无头结点的链表逆序

    # -*-coding:utf-8-*-
    class Node:
        def __init__(self, data, next=None):
            self.data = data
            self.next = next
    
    
    def print_link(head):
        cur = head
        while cur.next != None:
            print(cur.data, end=' ')
            cur = cur.next
        print(cur.data)
    
    
    def con_link(n):
        head = Node(0)
        cur = head
        for i in range(1, n):
            node = Node(i)
            cur.next = node
            cur = node
        print_link(head)
        reverse_link(head)
    
    def reverse_link(head):
        if head == None:
            return
        pre = head
        cur = head.next
        pre.next = None
        while cur.next != None:
            next = cur.next
            cur.next = pre
            pre = cur
            cur = next
        cur.next = pre
        head = cur
        print_link(head)
    
    if __name__ == '__main__':
        con_link(10)
  • 相关阅读:
    剑指Offer对答如流系列
    剑指Offer对答如流系列
    KMP算法
    殊途同归
    从m个数中取top n
    用红黑树实现500万数据的动态排序
    返璞归真
    second blog编程之美------控制cpu曲线
    first blog编程之美-----计算1的个数
    mathematica入门学习记录:
  • 原文地址:https://www.cnblogs.com/miao-study/p/11458407.html
Copyright © 2011-2022 走看看