评分及理由
(1)得分及理由(满分3分)
得分:3分
理由:学生的设计思想与标准答案一致,都包含三个关键步骤:找到链表中间结点、反转后半部分链表、将两部分交替合并。思路清晰正确,符合题目要求。
(2)得分及理由(满分8分)
得分:4分
理由:
- 代码中存在多处语法错误:函数参数类型错误(LinkList &L应为NODE* L)、变量声明错误(*Pre应为NODE* Pre)、未定义类型(LinkNode应为NODE)、变量名冲突(new是C++关键字)
- 找中间结点的逻辑不够准确,标准答案使用快慢指针法,而学生使用长度计算和循环,效率较低且需要提前知道链表长度
- 断链处理逻辑不够清晰,当n为奇数时的处理方式存在问题
- 合并链表部分的逻辑混乱,变量L1、L2、new1、new2的使用不清晰,最后还出现了未定义的P1、P2
- 但整体框架符合要求,基本实现了三个步骤,因此给予部分分数
(3)得分及理由(满分2分)
得分:2分
理由:正确分析出时间复杂度为O(n),空间复杂度为O(1),与标准答案一致。
题目总分:3+4+2=9分
登录后发布评论
暂无评论,来抢沙发