第一行一个正整数n(1<=n<=100000)
第二行n个正整数a1,a2,...,an(1 <= ai <=100000),表示链表顺序的结点值。
输出一行,n个数,表示反转后链表依次的结点值。
10 9 10 6 6 8 7 5 7 7 5
5 7 7 5 7 8 6 6 10 9
Python3,n没用
class Node: def __init__(self, val, next=None): self.val = val self.next = next n = int(input()) nums = input().split() head = Node('head') tail = head for num in nums: node = Node(num) tail.next = node tail = node def inverse(head: Node) -> Node: '''给定链表第一个有效节点,反转单链表''' if head is None or head.next is None: return prev, curr, next = None, head, None while curr is not None: next = curr.next curr.next = prev prev = curr curr = next return prev tail = head.next head.next = inverse(head.next) node = head.next while node is not tail: print(node.val, end=' ') node = node.next else: assert tail.val == node.val print(tail.val, end='')