530-minimum-absolute-difference-in-bst
530-minimum-absolute-difference-in-bst
Given the root of a Binary Search Tree (BST), return the minimum absolute difference between the values of any two different nodes in the tree.
Example 1:
Input: root = [4,2,6,1,3] Output: 1 Example 2:
Input: root = [1,0,48,null,null,12,49] Output: 1
My solution:
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
29
30
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution(object):
def __init__(self):
self.arr = []
def extract(self,root):
if not root:
return
if root.left:
self.extract(root.left)
self.arr.append(root.val)
if root.right:
self.extract(root.right)
def getMinimumDifference(self, root):
"""
:type root: Optional[TreeNode]
:rtype: int
"""
res = float('inf')
self.extract(root)
for i in range(len(self.arr)-1):
res = min(res,self.arr[i+1]-self.arr[i])
return res
本文由作者按照 CC BY 4.0 进行授权