783. Minimum Distance Between BST Nodes BST节点之间的最小距离

Posted Long Long Journey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了783. Minimum Distance Between BST Nodes BST节点之间的最小距离相关的知识,希望对你有一定的参考价值。

Given a Binary Search Tree (BST) with the root node root, return the minimum difference between the values of any two different nodes in the tree.

Example :

Input: root = [4,2,6,1,3,null,null]
Output: 1
Explanation:
Note that root is a TreeNode object, not an array.

The given tree [4,2,6,1,3,null,null] is represented by the following diagram:

          4
        /         2      6
     / \    
    1   3  

while the minimum difference in this tree is 1, it occurs between node 1 and node 2, also between node 3 and node 2.

Note:

  1. The size of the BST will be between 2 and 100.
  2. The BST is always valid, each node‘s value is an integer, and each node‘s value is different.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
 
class Solution:
    def minDiffInBST(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        res = float(‘inf‘)
        pre = -float(‘inf‘)
 
        def find(root):
            nonlocal res
            nonlocal pre
            if root.left:
                find(root.left)
            res = min(res, root.val - pre)
            pre = root.val
            if root.right:
                find(root.right)
 
        find(root)
        return res







以上是关于783. Minimum Distance Between BST Nodes BST节点之间的最小距离的主要内容,如果未能解决你的问题,请参考以下文章

783. Minimum Distance Between BST Nodes

783. Minimum Distance Between BST Nodes

783. Minimum Distance Between BST Nodes

783. Minimum Distance Between BST Node

[leetcode-783-Minimum Distance Between BST Nodes]

783. Minimum Distance Between BST Nodes - Easy