530. 二叉搜索树的最小绝对差(简单)

https://leetcode.cn/problems/minimum-absolute-difference-in-bst/

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

差值是一个正数,其数值等于两值之差的绝对值。

示例 1:
530. 二叉搜索树的最小绝对差(简单)_第1张图片
输入:root = [4,2,6,1,3]
输出:1

class Solution:
    def getMinimumDifference(self, root: Optional[TreeNode]) -> int:
        # 星级:☆☆☆
        # 方法:遍历二叉树+中序遍历
        # 思路:二叉搜索树利用中序遍历得到升序数组,最小差值一定发生在相邻的2个数之间
        lst = []
        def traverse(node):
            if not node:
                return
            traverse(node.left)
            lst.append(node.val)
            traverse(node.right)
        traverse(root)
        result = float('inf')
        for i in range(len(lst) - 1):
            result = min(result, lst[i + 1] - lst[i])
        return result

你可能感兴趣的:(二叉树,python,数据结构,算法,leetcode)