题目
给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。
思路
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def minDiffInBST(self, root: TreeNode) -> int:
def dfs(root):
if root is None:
return
dfs(root.left)
if self.preVal == -1:
self.preVal = root.val
else:
self.minDiff = min(self.minDiff, root.val - self.preVal)
self.preVal = root.val
dfs(root.right)
self.minDiff = float('INF')
self.preVal = -1
dfs(root)
return self.minDiff