笔记 - 算法与数据结构:反转链表

class LNode:
    def __init__(self, x=None):
        self.x = x
        self.next = None

def Reverse(first):
    cur, pre = first, None
    while cur:
        cur.next, pre, cur = pre, cur, cur.next
    return pre

def print_list(first):
    node = first
    while node:
        print(node.x, end=" ")
        node = node.next
    print()

if __name__ == "__main__":

    """
    不带头节点
    """

    first = LNode(1)
    temp = first
    for i in range(2, 5):
        new_Node = LNode(i)
        temp.next = new_Node
        temp = new_Node

    print_list(first)

    first = Reverse(first)

    print_list(first)


1 2 3 4 
4 3 2 1

猜你喜欢

转载自blog.csdn.net/chen_holy/article/details/91456839
今日推荐