正向建立单链表。题目描述\n\n题目内容:输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序建立单链表并输出。\n\n\n输入格式:一行内输入若干个正整数,之间用空格隔开,并以-1结束。\n\n输出格式:
时间: 2023-05-02 08:02:13 浏览: 251
题目描述:
正向建立单链表。
题目内容:输入若干个正整数(输入-1为结束标志),要求按输入的逆序建立一个单链表,并输出该单链表。
输入格式:一行内按逆序输入若干正整数,以-1为结束标志。
输出格式:输出格式与建立链表的方式无关。
输入格式:一行内按逆序输入若干正整数,以-1为结束标志。
输出格式:输出格式与建立链表的方式无关。
解答:对于输入的每个正整数,我们可以按照“头插法”依次将元素插入链表中。因此,我们可以使用一个头指针,每次向其前面插入一个元素即可。如果输入-1,则说明已经输入完毕,此时应该输出链表的内容。具体实现过程可以参考下面的代码:
n = int(input()) # 输入第一个正整数
head = None # 头节点初始化为空
while n != -1:
node = {'data': n, 'next': head} # 新建节点,其指向头节点
head = node # 更新头节点
n = int(input()) # 输入下一个正整数
# 输出链表
while head:
print(head['data'], end=' ')
head = head['next']
相关问题
正向建立单链表。题目描述 题目内容:输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序建立单链表并输出。 输入格式:一行内输入若干个正整数,之间用空格隔开,并以-1结束。 输出格式:一行内输出建立的单链表数据结果,之间用两个分隔符 -- 隔开,结束标志-1不输出。
以下是 Python 代码实现:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
head = None
while True:
num = int(input())
if num == -1:
break
new_node = Node(num)
new_node.next = head
head = new_node
result = ""
while head:
result += str(head.data) + " -- "
head = head.next
print(result[:-4]) # 去掉最后的 --
```
使用链表来实现,每次输入一个数时就创建一个新的节点,将其插入到链表的头部,这样最后得到的链表是按照输入数据的逆序建立的。然后遍历链表,将每个节点的数据转换成字符串并拼接到结果字符串中,末尾的 `--` 需要去掉。
【描述】 输入一个正整数,判断它是否是回文数。要求定义和调用函数:bool ispalind
回文数是指正向和反向读都相同的数。判断一个数是否为回文数可以通过将其转化为字符串,并比较正向和反向读的结果是否相同来实现。
首先,我们可以定义一个函数isPalind,该函数接受一个正整数作为参数,并返回一个布尔值。函数内部将会进行以下几个步骤:
1. 将输入的正整数转化为字符串形式,方便进行比较操作。
2. 通过字符串的切片操作[::-1]可以将字符串反向读取。
3. 比较正向读取和反向读取的字符串是否相同,如果相同则返回True,不同则返回False。
下面是完整的代码实现:
```python
def isPalind(n):
num_str = str(n)
reverse_str = num_str[::-1]
if num_str == reverse_str:
return True
else:
return False
# 测试代码
num = int(input("请输入一个正整数:"))
result = isPalind(num)
if result:
print(f"{num} 是回文数")
else:
print(f"{num} 不是回文数")
```
通过以上代码逻辑,我们可以根据输入的正整数判断其是否为回文数,并给出对应的输出结果。
阅读全文
相关推荐















