# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def getMinimumDifference(self, root: TreeNode) -> int:
ans = float("inf")
curr = None
prev = -float("inf")
stack = []
while stack or root:
while root:
stack.append(root)
root = root.left
root = stack.pop()
curr = root.val
# print(curr)
ans = min(ans, curr - prev)
root = root.right
prev = curr
return ans