文章
63
粉丝
0
获赞
0
访问
4.5k

评分及理由
(1)得分及理由(满分5分)
得分:3分
理由:学生提出了两种方法。第一种方法(辅助链表逆置)需要遍历两次链表(一次逆置,一次查找),效率较低;第二种方法(计算长度再查找)也需要遍历两次链表(一次计算长度,一次查找)。标准答案要求尽可能高效(一趟扫描),而这两种方法都是两趟扫描,设计思想不够高效。但思路基本正确,因此扣2分。
(2)得分及理由(满分5分)
得分:3分
理由:学生描述了计算链表长度再查找第len-k个元素的详细步骤,逻辑清晰。但这种方法需要两趟扫描,不符合题目"尽可能高效"的要求(标准答案是一趟扫描)。步骤描述正确但效率不高,扣2分。
(3)得分及理由(满分5分)
得分:2分
理由:代码实现存在多处逻辑错误:
1. 结构体定义中同时定义了ListNode和List,但List应该是链表类型而非结点类型
2. ListLength函数中修改了原链表指针(list = list->next),这会破坏原链表
3. Find函数中循环结束后,temp = L2->next多移动了一次,应该直接输出L2->data
4. 函数返回temp->data而不是1,与题目要求返回0/1不符
5. 没有处理k值超过链表长度的情况
虽然整体思路可行,但代码逻辑错误较多,扣3分。
题目总分:3+3+2=8分
登录后发布评论
暂无评论,来抢沙发