文章
62
粉丝
0
获赞
0
访问
1.6k

评分及理由
(1)得分及理由(满分4分)
得分:3分
理由:学生的基本设计思想与标准答案一致,都采用了先计算链表长度差,然后对齐指针再同步遍历的方法。但在描述中"当指向内容相等时即为公共后缀起点"存在逻辑漏洞,因为公共后缀的判断应该是结点地址相同而非数据相等,不过考虑到这是文字描述不够精确,且核心思路正确,扣1分。
(2)得分及理由(满分8分)
得分:5分
理由:代码实现存在多处逻辑错误:
1. 函数返回类型应为结点指针类型,但学生使用了void类型
2. 长度计算循环中同时移动了str1、str2和p、q指针,逻辑混乱
3. 对齐指针时应该从头结点开始移动,但学生的p、q初始化后立即被覆盖
4. 最后的比较条件应该是p != q而非p.data != q.data
5. 缺少max/min函数的定义或包含头文件
虽然核心算法框架正确,但具体实现存在较多逻辑问题,扣3分。
(3)得分及理由(满分1分)
得分:0分
理由:学生回答时间复杂度为O(n),但正确的应该是O(len1+len2)或O(max(len1,len2))。O(n)的表述过于笼统且不准确,无法体现算法与两个链表长度的关系。
题目总分:3+5+0=8分
登录后发布评论
暂无评论,来抢沙发