import sys
class listNode():
def __init__(self,val=0):
self.next = None
self.val = val
n=0
list1=[]
for line in sys.stdin:
a = line.split()
if n%3 == 0 :
n+=1
continue
elif n % 3 == 2:
head = listNode()
for x in range(int(a[0]),0,-1):
if n == 0:
print()
head.next = listNode(list1.pop())
head = head.next
print(int(head.val))
else:
list1 = a
n+=1
# if listNode(i).next:
# print(list1[int(i)].val)
# else:
# list1 =
# list1.append(listNode(i))
# if a.index(i)< len(a)-1:
# listNode(i).next = listNode(a[a.index(i)+1])
# n+=1
具体的链表构建过程如下:
- 创建一个
head节点作为链表的头节点。 - 根据读取的值列表从后向前遍历,每读取一个值,创建一个新的节点,并将其设为当前节点的下一个节点。
- 最后,打印链表最后一个节点的值。
需要注意的是,代码中有一行 head.next = listNode(list1.pop()),这行代码的作用是将链表的头节点的下一个节点指向新创建的节点。由于链表的头节点在后续的循环中可能会被修改,所以在这里使用了一个额外的变量 head 来指向当前节点,并通过 head = head.next 将 head 更新为下一个节点。

京公网安备 11010502036488号