文章
166
粉丝
0
获赞
0
访问
10.7k

评分及理由
(1)得分及理由(满分5分)
得分:5分
理由:学生的基本设计思想描述清晰准确,与标准答案一致。使用双指针方法,让两个指针相距k个位置,然后同步移动,当快指针到达链表末尾时,慢指针正好指向倒数第k个结点。思路正确且表述完整。
(2)得分及理由(满分5分)
得分:5分
理由:学生的详细实现步骤描述完整,与标准答案基本一致。明确说明了先让p指针移动k个位置,然后p和q同步移动,直到p为NULL时q指向的就是目标结点。步骤描述清晰合理。
(3)得分及理由(满分5分)
得分:4分
理由:算法实现基本正确,但存在一个逻辑错误。在第二次识别的代码中,注释掉了"return q->data;",这是正确的修改,因为题目要求先输出data值再返回1。然而代码中p和q初始化为list(头结点),这是正确的,因为题目明确说明链表带有表头结点。算法能够正确找到倒数第k个结点,时间复杂度为O(n),空间复杂度为O(1),满足高效要求。扣1分是因为第一次识别的代码中有"return q->data;"语句,这会导致printf语句无法执行,虽然第二次识别已修正,但考虑到识别的不确定性,给予轻微扣分。
题目总分:5+5+4=14分
登录后发布评论
暂无评论,来抢沙发