题目

给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。

思路

image.png

语雀内容

  1. # Definition for a binary tree node.
  2. # class TreeNode:
  3. # def __init__(self, val=0, left=None, right=None):
  4. # self.val = val
  5. # self.left = left
  6. # self.right = right
  7. class Solution:
  8. def minDiffInBST(self, root: TreeNode) -> int:
  9. def dfs(root):
  10. if root is None:
  11. return
  12. dfs(root.left)
  13. if self.preVal == -1:
  14. self.preVal = root.val
  15. else:
  16. self.minDiff = min(self.minDiff, root.val - self.preVal)
  17. self.preVal = root.val
  18. dfs(root.right)
  19. self.minDiff = float('INF')
  20. self.preVal = -1
  21. dfs(root)
  22. return self.minDiff