文章
180
粉丝
0
获赞
0
访问
18.9k


评分及理由
(1)得分及理由(满分4分)
得分:3分
理由:学生的基本设计思想描述基本正确,包括计算两个链表长度、根据长度差调整起始位置、然后同步遍历寻找共同结点。但描述中"让大的链表先走差值的步数-1"存在表述不准确,应该是走差值步(不是差值-1),这可能导致实际实现时少走一步。由于思路核心正确但存在小瑕疵,扣1分。
(2)得分及理由(满分8分)
得分:5分
理由:代码实现存在较多问题:
1. 变量q未定义(在lenA>lenB分支中使用了未声明的q)
2. 在lenA>lenB分支中,q初始化为B->next,但在lenA≤lenB分支中,q初始化为A(应该统一为头结点或第一个实际结点)
3. 最后的while循环条件错误:应该是p != q,而不是p != NULL
4. 返回位置错误:应该返回共同结点,但代码中最后p已指向NULL
5. 缺少对空链表的处理
由于存在多个逻辑错误,严重影响了算法的正确性,扣3分。
(3)得分及理由(满分1分)
得分:1分
理由:时间复杂度分析正确,为O(n),符合题目要求。
题目总分:3+5+1=9分
登录后发布评论
暂无评论,来抢沙发