zoukankan      html  css  js  c++  java
  • 783. Minimum Distance Between BST Nodes

    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.
    # 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
            """
            a = []
            def inorder(root):
                if root.left:
                    inorder(root.left)
                a.append(root.val)
                if root.right:
                    inorder(root.right)
            res = 100000
            inorder(root)
            for i in range(len(a)-1):
                res = min(res,a[i+1]-a[i])
            return res
    
  • 相关阅读:
    python基础语法
    头文件和库文件
    #pragma的用法
    C++ signal的使用
    Glog
    Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
    /etc/ld.so.conf详解
    拿与不拿的dfs
    空白字符读取和处理
    统计频率----初始条件的设置
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9836257.html
Copyright © 2011-2022 走看看