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 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号