美文网首页
530. 二叉搜索树的最小绝对差

530. 二叉搜索树的最小绝对差

作者: 好吃红薯 | 来源:发表于2019-05-10 16:15 被阅读0次

给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。

示例 :

输入:

1

3
/
2

输出:
1

解释:
最小绝对差为1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。
思路: 前序遍历所有节点,存入list,排序,找最小

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

class Solution(object):
    
    def getMinimumDifference(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        res = []
        iterable(root,res)
        
        
        
        M = 65535
        
        res.sort()
        for i in range(1,len(res)):
            M = min(M,res[i]-res[i-1])
            
        return M   
    
def iterable(node,res):
    if not node:
        return
    
    res.append(node.val)
    if node.left or node.right:
        if node.left:
            iterable(node.left,res)
        if node.right:
            iterable(node.right,res)

相关文章

网友评论

      本文标题:530. 二叉搜索树的最小绝对差

      本文链接:https://www.haomeiwen.com/subject/fpiaoqtx.html