题解 | #牛牛的二叉树问题#
牛牛的二叉树问题
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个值就是要求的节点
然后排序返回
天翼支付科技有限公司公司福利 19人发布