文章
47
粉丝
0
获赞
0
访问
18.4k
1.运用双指针的思想,初始设立两个指针A,B分别指向链表的头结点,B指针向后遍历K次,后两指针同步向后,当B指针指向链尾时,A指针指倒数第K个节点。
2.首先定义链表数据结构,程序运行前判断该链表长度是否大于K,否返回错误,是则进行下一步骤,B指针向后遍历K次,后两指针同步向后,当B指针指向链尾时,A指针指倒数第K个节点。
评分及理由
(1)得分及理由(满分5分)
得分:4分
理由:学生的基本设计思想描述基本正确,使用了双指针方法,通过一趟扫描找到倒数第k个节点。但描述中"B指针向后遍历K次"不够准确,应该是"B指针先移动k次",且没有明确说明两个指针的初始位置都在第一个节点(头结点的下一个节点)。扣1分。
(2)得分及理由(满分5分)
得分:3分
理由:学生描述了实现步骤,但存在以下问题:①"程序运行前判断该链表长度是否大于K"这一步骤在实际算法中无法实现,因为题目要求不改变链表且尽可能高效,提前判断长度需要额外遍历;②步骤描述不够详细,缺少计数变量的使用;③没有处理k值超过链表长度的情况。扣2分。
(3)得分及理由(满分5分)
得分:0分
理由:学生没有提供具体的代码实现,题目明确要求"采用程序设计语言描述算法",因此该部分得0分。
题目总分:4+3+0=7分
登录后发布评论
暂无评论,来抢沙发