python题目:
建立非空单链表,完成遍历操作,并且计算单链表的长度。
输入格式:
输入数据有多组,每组数据占一行:
每行数字表示单链表的各个结点值(数字个数不会超过100个),以0结束一个
单链表的输入;
例如:123450代表一个长度为5的单链表。
若遇到-1,则结束数据的输入。
输出格式:
每组输出占两行,第一行输出单链表的长度,第二行输出该单链表,每两个结点值之间有""。
求助:python单链表的遍历与长度计算
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 「已注销」 2023-03-15 18:04关注
参考GPT和自己的思路:
好的,针对这个问题,我可以给出以下的解答:
首先,我们需要定义一个节点类来保存单链表结点的信息,同时定义一个单链表类来实现单链表的建立、遍历和长度计算等功能。具体代码如下:
# 定义一个节点类 class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next # 定义一个单链表类 class LinkedList: def __init__(self): self.head = None # 建立单链表 def createList(self): nums = input().split() for num in nums: if num == '0': break node = ListNode(int(num)) if not self.head: self.head = node else: cur = self.head while cur.next: cur = cur.next cur.next = node # 遍历单链表 def traverse(self): cur = self.head while cur: print(cur.val, end=' ') cur = cur.next print() # 计算单链表长度 def length(self): cnt = 0 cur = self.head while cur: cnt += 1 cur = cur.next return cnt
然后,我们可以通过以下的代码来测试单链表的建立、遍历和长度计算功能:
while True: lst = LinkedList() try: lst.createList() except: break length = lst.length() print(length) lst.traverse()
这段代码可以持续输入多组单链表,每输入一组单链表就会输出该单链表的长度和遍历结果。当输入-1时,程序结束。
希望这个答复能够帮助到你,如果你还有其他的问题需要解答,可以继续向我提问。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么