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
原文地址:https://www.cnblogs.com/chiyeung/p/10015989.html
时间: 2024-10-07 16:28:35