首页 > 编程语言 > 详细

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

时间:2018-11-25 17:08:46      阅读:200      评论:0      收藏:0      [点我收藏+]

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!