题解 | #牛牛的二叉树问题#
牛牛的二叉树问题
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个值就是要求的节点
然后排序返回