题解 | #牛牛的二叉树问题#

牛牛的二叉树问题

https://www.nowcoder.com/practice/1b80046da95841a9b648b10f1106b04e

class Solution:
    def findClosestElements(self , root: TreeNode, target: float, m: int) -> List[int]:
        # write code here
        d = []
        def traverse(root):
            if root is None:
                return
            d.append(root.val-target)
            # 前序位置
            traverse(root.left)
            # 中序位置
            traverse(root.right)
        traverse(root)

        d.sort(key=lambda x:abs(x))
        print(d[:m])
        res = [int(x + target) for x in d[:m]]
        res.sort()
        return res

思路:利用数组d,遍历树,存储所有节点与target的差值

对d进行绝对值排序

取前m个值就是要求的节点

然后排序返回

全部评论

相关推荐

沟头学院:无关比赛不要写,这样会显着你主次不分,比赛不要撒谎,有哪些就写那些,创新创业建议删除。技能特长可以适当夸大。
点赞 评论 收藏
分享
北斗导航Compass低仿版:没必要写这么多东西,还是尽量浓缩成一页,自我评价,git和cursor Trae这些都可以去掉。实习经历的描述最好根据star法则改一下,别这么直白
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务