文章
27
粉丝
0
获赞
0
访问
1.2k
评分及理由
(1)得分及理由(满分4分)
得分:2分
理由:学生的基本设计思想提到了求链表长度、长链表先走长度差步、然后同步遍历比较,这与标准答案的核心思路一致。但存在以下问题:
1. 描述中"最长与较短的那个链表长度相同"表述不准确,实际上是有公共后缀时从公共节点开始长度相同
2. 没有明确说明要找到的是公共后缀的起始位置节点,而是说要"记录长度"
3. 没有说明如何判断找到公共起始位置
由于基本思路正确但表述不够清晰准确,扣2分。
(2)得分及理由(满分8分)
得分:3分
理由:代码实现存在较多逻辑错误:
1. 函数返回类型错误:题目要求返回共同后缀起始位置(节点指针),但代码返回int类型
2. 指针调整逻辑错误:在调整指针位置时,代码逻辑混乱,没有正确让两个指针指向对应位置
3. 查找逻辑错误:在同步遍历时,通过比较data并记录last的方式无法正确找到公共后缀起始位置
4. 循环条件错误:while循环条件str1->next!=NULL可能导致提前结束
5. 长度差遍历错误:while(L1-L2)循环条件错误,应该用计数器
虽然代码框架体现了基本思路,但由于存在严重逻辑错误,扣5分。
(3)得分及理由(满分1分)
得分:0分
理由:时间复杂度分析不准确,只写了O(n)没有说明n的含义,也没有区分两个链表的长度。应该分析为O(len1+len2)或O(max(len1,len2))。
题目总分:2+3+0=5分
登录后发布评论
暂无评论,来抢沙发