从键盘输入任意多个正整数,输入以-1结束。逆序输出这些整数(不包括-1)。 提示: 1、逆序创建单链表。结点数据域是整型数。每输入一个整数,向链表中插入一个结点。当输入-1时结束链表的创建。 2、遍历链表,输出结点数据域的值。 3、遍历完成后,要求销毁该链表。
时间: 2023-04-25 18:03:17 浏览: 229
-计算最优值-0-1背包 动态规划问题详解
可以使用以下步骤实现:
1. 创建一个空的单链表。
2. 从键盘输入一个正整数,如果输入的是-1,则结束输入;否则,将该整数插入到链表的头部。
3. 遍历链表,逆序输出每个结点的数据域。
4. 销毁链表,释放内存。
具体实现代码如下:
```python
# 定义单链表结点类
class ListNode:
def __init__(self, val=, next=None):
self.val = val
self.next = next
# 创建一个空的单链表
head = ListNode()
# 从键盘输入一个正整数,如果输入的是-1,则结束输入;否则,将该整数插入到链表的头部
while True:
num = int(input("请输入一个正整数:"))
if num == -1:
break
new_node = ListNode(num)
new_node.next = head.next
head.next = new_node
# 遍历链表,逆序输出每个结点的数据域
p = head.next
while p:
print(p.val, end=" ")
p = p.next
# 销毁链表,释放内存
p = head
while p:
q = p.next
del p
p = q
```
注意,这里创建的是带头结点的单链表,头结点的数据域可以为空。在遍历链表时,需要从头结点的下一个结点开始遍历。在销毁链表时,需要先保存头结点的地址,然后依次释放每个结点的内存空间。
阅读全文