530. 二叉搜索树的最小绝对差 - 力扣(LeetCode)
思路:
先遍历二叉树得到一个升序的数组,再统计数组每两个相邻元素之间的差的最小值即可。
class Solution(object):
def tra(self,root,arr):
if root==None:
return
arr.append(root.val)
self.tra(root.left,arr)
self.tra(root.right,arr)
return
def getMinimumDifference(self, root):
arr=[]
self.tra(root,arr)
arr.sort()
minSub=float('inf')
for i in range(len(arr)-1):
minSub=min(minSub,abs(arr[i]-arr[i+1]))
return minSub
忘记了这是二叉搜索树,可以直接中序遍历得到有序数组!
知识点
定义无穷大
正无穷大:minSub=float('inf')
负无穷大:minSub=float('-inf')