题解 | #牛群最小体重差#

牛群最小体重差

https://www.nowcoder.com/practice/e96bd1aad52a468d9bff3271783349c1

  • 题目考察的知识点 : 二叉搜索树的性质
  • 题目解答方法的文字分析:
  1. 我们可以进行中序遍历(即从小到大遍历),并计算相邻节点之间的差值。在计算过程中,我们需要记录最小差值min_diff,初始值为正无穷。每当计算出相邻节点之间的差值时,如果该差值比当前的min_diff要小,则更新min_diff的值
  • 本题解析所用的编程语言:Python
  • 完整且正确的编程代码

# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param root TreeNode类
# @return int整型
#
class Solution:
    def getMinimumDifference(self, root: TreeNode) -> int:
        stack = []
        cur = root
        pre_val = float("-inf")
        min_diff = float("inf")
        while stack or cur:
            if cur:
                stack.append(cur)
                cur = cur.left
            else:
                node = stack.pop()
                if pre_val != float("-inf"):
                    diff = node.val - pre_val
                    if diff < min_diff:
                        min_diff = diff
                pre_val = node.val
                cur = node.right
        return min_diff
牛客高频top202题解系列 文章被收录于专栏

记录刷牛客高频202题的解法思路

全部评论

相关推荐

点赞 评论 收藏
分享
夏日狂想曲:连体婴是这样的,不过国内还有上四休三的公司?
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务