欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【10月打卡~Leetcode每日一题】530. 二叉搜索树的最小绝对差(难度:简单)

程序员文章站 2022-04-24 16:28:54
...

530. 二叉搜索树的最小绝对差
【10月打卡~Leetcode每日一题】530. 二叉搜索树的最小绝对差(难度:简单)
直接深搜,用中序遍历的思想,先找到最左边的节点,一步一步迭代到最右边的节点

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def getMinimumDifference(self, root: TreeNode) -> int:
        ans,pre = float('inf'),-1
        
        def dfs(root):
            nonlocal ans,pre
            if not root:
                return

            dfs(root.left)
            
            if pre != -1:
                ans = min(ans,root.val-pre)
            
            pre = root.val
            dfs(root.right)

        dfs(root)
        return ans

时间复杂度O(n)

相关标签: 算法 python