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

Posted chiyeung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode&Python] Problem 530. Minimum Absolute Difference in BST相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

C++&Python描述 LeetCode C++&Python描述 LeetCode 剑指 Offer 22. 链表中倒数第k个节点

[LeetCode&Python] Problem 202. Happy Number

[LeetCode&Python] Problem 520. Detect Capital

[LeetCode&Python] Problem 383. Ransom Note

[LeetCode&Python] Problem 458. Poor Pigs

[LeetCode&Python] Problem 682. Baseball Game