码迷,mamicode.com
首页 > 编程语言 > 详细

[LeetCode&Python] Problem 530. Minimum Absolute Difference in BST

时间:2018-11-25 17:47:34      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:tps   tac   sea   diff   highlight   org   des   root   minimum   

Given a binary search tree with non-negative values, find the minimum absolute difference between values of any two nodes.

Example:

Input:

   1
         3
    /
   2

Output:
1

Explanation:
The minimum absolute difference is 1, which is the difference between 2 and 1 (or between 2 and 3).

 

Note: There are at least two nodes in this BST.

 

# 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
        """
        diff=10000
        stack=[]
        node=root
        lastvisited=None
        while node is not None or stack:
            while node:
                stack.append(node)
                node=node.left
            node=stack.pop()
            if node is not None and lastvisited is not None:
                diff=min(diff,abs(node.val-lastvisited.val))
            lastvisited=node
            node=node.right
            
        return diff

  

[LeetCode&Python] Problem 530. Minimum Absolute Difference in BST

标签:tps   tac   sea   diff   highlight   org   des   root   minimum   

原文地址:https://www.cnblogs.com/chiyeung/p/10015989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!