文章
986
粉丝
5
获赞
20
访问
254.0k

评分及理由
(1)得分及理由(满分3分)
得分:3分
理由:学生的设计思想描述清晰,与标准答案中的暴力解法思路一致。先遍历每个结点,判断是否同时存在左右子树,然后分别计算左右子树与当前结点的最小距离,若相等则计数。思路正确,描述完整。
(2)得分及理由(满分9分)
得分:6分
理由:学生的代码实现了暴力解法,整体逻辑正确,但存在以下问题:
minDistance函数中,递归调用时传递的target参数是当前结点的值,但计算距离时应该用当前遍历到的子树结点值与target(即父结点值)的差值。这里逻辑正确,但实现方式效率较低,与暴力解法一致。minDistance函数中,返回值的三元表达式逻辑有误。当distance不是最小时,应该返回leftDistance和rightDistance中的较小值,但学生的代码中直接比较leftDistance和rightDistance,没有考虑distance可能比其中一个子树的返回值小但比另一个大的情况。正确写法应该是先比较distance与左右子树返回值的最小值。此处逻辑错误,扣3分。(3)得分及理由(满分2分)
得分:2分
理由:学生正确分析了时间复杂度为O(n²),与暴力解法的时间复杂度一致,分析正确。
题目总分:3+6+2=11分
登录后发布评论
暂无评论,来抢沙发