给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。
class Solution: def getMinimumDifference(self, root: TreeNode) -> int: #初始化,最小值赋值为无穷大,last_value记录上一个节点的值 min_value, last_value = float("inf"), -1 def pengding_num(val): nonlocal min_value, last_value #第一个节点赋值给last_value if last_value == -1: last_value = val else: #每一次都用当前值减去上一时刻的值,取最小值,然后把当前值变成上一时刻的值 min_value = min(min_value, abs(val - last_value)) last_value = val #中序遍历 def mid_order(root): nonlocal min_value, last_value if root: mid_order(root.left)#中序遍历, #处理当前节点 pengding_num(root.val) mid_order(root.right) mid_order(root) return min_value