Minimum Distance Between BST Nodes

Problem Summary

Approach Taken

Main Concepts Used

Time & Space Complexity

Code

class Solution:
    def minDiffInBST(self, root: Optional[TreeNode]) -> int:
        self.minDifference = float("inf")
        self.prev = float("inf")

        def inOrder(root):
            if not root:
                return

            inOrder(root.left)
            self.minDifference = min(self.minDifference, abs(self.prev - root.val))
            self.prev = root.val
            inOrder(root.right)

        inOrder(root)
        return self.minDifference

Common Mistakes / Things I Got Stuck On