您的位置:首页 > Web前端

Minimum Absolute Difference in BST

2017-08-16 00:21 375 查看
题目详情:https://leetcode.com/problems/minimum-absolute-difference-in-bst/description/

# -*- coding:utf-8 -*-
# Definition for a binary tree node.
import sys
class TreeNode(object):
def __init__(self, x):
self.val = x
self.left = None
self.right = None

class Solution(object):
def getMinimumDifference(self, root):
"""
:type root: TreeNode
:rtype: int
"""
self.mini=sys.maxint#存储最小的差值
self.preNode=None#存储前一个节点
self.inOrder(root)#中序遍历
return self.mini#返回结果
def inOrder(self,root):
if root:
self.inOrder(root.left)
if self.preNode!=None:#如果前一个节点不为空
#如果前一个节点和本节点的差值比已知的最小差值较大,那么已知的差值,否则返回前一个节点和本节点的差值
self.mini=( self.mini if root.val-self.preNode.val>=self.mini else root.val-self.preNode.val )
self.preNode=root#更新preNode,对于下一个待访问的节点,本节点为前一个节点
self.inOrder(root.right)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: