题目
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。
差值是一个正数,其数值等于两值之差的绝对值。
示例 1:
输入:root = [4,2,6,1,3]
输出:1
示例 2:
输入:root = [1,0,48,null,null,12,49]
输出:1
提示:
树中节点的数目范围是 [2, 104]
0 <= Node.val <= 10^5
来源:力扣(LeetCode)
解题思路
这个题可以先中序遍历得出有序的数组,然后对比相邻两个数的差值,找到最小的差值即可。
# 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 getMinimumDifference(self, root: TreeNode) -> int:temp=[]MAX=float('inf')def inorder(root):if root:inorder(root.left)temp.append(root.val)inorder(root.right)inorder(root)for i in range(1,len(temp)):if temp[i]-temp[i-1]<MAX:MAX=temp[i]-temp[i-1]return MAX