文章
119
粉丝
0
获赞
3
访问
6.4k


评分及理由
(1)得分及理由(满分4分)
得分:3分
理由:学生的基本设计思想正确,包括计算两个链表长度、根据长度差调整起始位置、然后同步遍历寻找共同结点。但描述中存在一些不准确之处:①在描述中使用了"快慢指针"这一不准确的术语;②描述"当p->next == q->next时"存在逻辑错误,应该是判断p和q是否指向同一结点。由于核心思路正确,扣1分。
(2)得分及理由(满分8分)
得分:6分
理由:算法实现基本正确,但存在以下问题:①链表遍历计算长度时,p和q遍历后没有正确重置到头结点(虽然代码中有重置,但逻辑不够清晰);②循环条件while(p != q)在找到共同结点时能正确返回,但如果两个链表没有共同后缀,可能陷入死循环或返回NULL;③返回语句的注释"若不为NULL则表示找到了"不准确,因为如果无共同后缀,p和q会同时为NULL。代码整体逻辑正确,时间复杂度符合要求,扣2分。
(3)得分及理由(满分1分)
得分:1分
理由:正确给出了时间复杂度O(n),与算法实现一致。
题目总分:3+6+1=10分
登录后发布评论
暂无评论,来抢沙发